A recruiter who doesn't know what a good programmer does and how they work, won't necessarily recruit good programmers - but indeed, rather leave that identification to the tech interview - which is why a tech-savvy recruiter can offer a better service than a non-tech-savvy recruiter would, by removing a seat in the game of building a great development team/groups/department, at scale.
Also, this is changing now, radically, with AI/ML tooling - we programmers can indeed cut out a lot of middlemen now.
"recruiters must be programmers" - this absolute is not a policy, rather a test against the nature of the relationship being offered. If I, as a developer, am mis-represented by the recruiter to the tech interviewer, then it is an inadequate recruitment.
If however, a tech-savvy recruiter does the tech interview and understands the nature of the systems being built/technology needed for specific cases, then the process is smoother - not just for the company, but also for the individual.
This pre-supposes, of course, that the interview candidate is taking the process seriously, and identifies faulty onboarding practices. If you're not asking pointy questions about why a recruiter is being involved, or finding out whether or not the recruiter understands your Resume/CV well enough to represent you, then you're putting yourself on the wrong foot.
Developers/technologists being managed by non-devs, is a huge source of friction - and bloat - in the software industry.