apparently MS did try to force antivirus vendors to use a special MS api instead of everyone inventing they own stuff running in kernel mode,
Which looks pretty reasonable. Running anything in kernel mode, if you can do otherwise, is insane.
but were told that was monopolistic so they couldn't do that, but Apple could
We don't know the full details I think, so it's hard to tell what exactly they were told.
If Windows kernel was a microkernel, this would never happen. But, of course, that's just a if and impossible without a complete rewrite of the kernel. So, not a solution. Just a thought.
So in the meantime, MS has no choice but try to offer alternatives to kernel drivers for basic security. What else could they do than provide a corresponding API?
For once, it's definitely none of MS's fault (apart from the kernel not being a microkernel, but none of the major OSs currently is a microkernel, so...) If anything, they should change their WHQL policy to prevent kernel drivers from doing what Crowdstrike did, that is run as an interpreter to code that can be updated without requiring new driver tests. But maybe even just that would be considered monopolistic. Who knows.
Heck, even preventing mass pushing updates on critical systems without any local sysadmin action, which should make a bit of sense, may be seen as monopolistic, preventing third-party companies from doing business as they like. Just stay away from Windows would be my pragmatic advice at this point.