Wow the people in this thread, so many brutal and epic misinformed statements...
Of course you can absolutely block every bot. It appears most people posting here have never seen a cloudflare backoffice or heard of under attack mode. You can actually block every single visit and only permit access by ip whitelisting. This is the very first line and action of defense in case of a ddos, for crying out loud.
The real question is how do you give access or how to not be too restrictive and cause false positives.
And bot is not equal bot, if a bot comes with a human looking browsing pattern, mouse movements and wrapped in an anti detect and proxy all nicely configured, you will not be wiser about it, you will have to add things like call verification perhaps kyc to be entirely sure since email verification and sms verification can be done dealt with rather easy.
Conclusion, of course you can block all bots, you can literally block every visitor if you desire to do so.