I think it's cultural.
Many developers lack traditional credentials.
Others have credentials but didn't really learn the material.
Companies know that hiring bad developers can really hurt performance, morale, culture.
So big tech firms that do lots of hiring decided to invent tests to screen applicants. Smaller firms decided to follow suit since large companies were doing it.
If you truly want the jobs on offer, you probably need to cram a bit to pass interview tests. This is easier than it sounds, remember that it's likely going to be tests about the basics of well-known structures and operations (tree traversals, hashing, et cetera). I know it's annoying since it rarely comes up day-to-day, but the worst case is you learn your craft better than you need to.
Another route, go into parts of the field that don't have this requirement. I've noticed that certain areas (ERP Development, SQL DBA, etc) don't tend to focus on this and are more concept oriented in interviews. I think it's because you don't really build the tooling, but rather use it solve problems. Also, the job usually isn't for a company that makes its money from software.
No judgement (I'm a former ERP developer turned SQL DBA, so I'd probably fail most of these interviews spectacularly).