- The way to the provider does account auth varies.
- The API for getting e.g. server list info varies.
- Configuration generation varies.
- Implementation choices for the VPN protocols varies (e.g. which user-space wireguard implementation to use if the kernel one is not usable for some reason).
- Some features would require some scripting/light programming if not implemented by the provider. Not only is that asking for a lot, but errors here can be catastrophic.
- ...etc
All that, and we didn't even talk about user experience 😉.
Having said all that, if you're not using a service that offers configuration generation, which allows you to use your own clients, you're doing it wrong.
I use one of the services from your list. And beyond private key generation, I do everything with simple scripts on desktop (or using "protocol" clients on mobile). This is trivial since the server list with its addresses and public keys is publicly available as JSON, even without auth. So putting that info and my private key(s) together, I can actually generate all the configs I want myself with ease.
But that's just me. And providers would go broke if they only catered to the likes of me.