Metal doesn't get enough hate for how awful and idiosyncratic it is. If you want to remain cross platform and support Metal you're so severely restricted that the best you can hope for is to just special case a bunch of features for non-Apple machines and not support them at all on Mac. It really feels like Apple wanted to kill gaming on Macs entirely. I understand that they want to maintain control over their own graphics stack, but for this to work the stack has to be better than the competition and that's not the case here at all.
For some indication, check out a lot of issue threads for WebGPU (the Rust cross platform graphics library). Many, many features need to be restricted or put behind feature flags due to either lack of Metal support, or Metal having bizarre restrictions compared to other platforms. As a random example, border color is limited to 2 or 3 colors for Metal, and has no restrictions at all for anything else. There are also entire features (like geometry shaders) missing from Metal; for many common usecases you can replicate the functionality with something else, but usually not in a way that easily translates to any of the other APIs (and pretty much nobody on Earth writes games just targeting Macs).
Hence, the easiest thing to do for most games is to just drop Mac support and not worry about it. IMO that's the biggest reason by far why people stopped bothering to port new games to Mac; between not updating OpenGL past 4.1 at best and Metal being so idiosyncratic, it's just not worth it, and since people have learned gaming on Macs sucks (largely because of the outdated and idiosyncratic APIs), most people who want to play games on a Mac have just been installing Windows anyway.
This is all not even to mention that Mac laptops tend to have far too high a resolution for the onboard GPU to perform well for any but the most rudimentary games; hopefully this has been addressed with the M1 batch having a much more powerful GPU. But the issues with Metal remain and will continue to remain until Apple either fixes Metal to make it a more Vulkan-like target, or adds really good Vulkan support.