Also, we have a gatekeeper called Google Play Services. In other words, even if you have a custom ROM, you need that all-encompassing framework to have nice things.
Clients may differ, but the cloud platform and the connector which enables all these "Android" things is closed source, and controlled by Google.
---
If you want to install microG super easy and are still choosing your next phone, get one supported by LineageOS: https://wiki.lineageos.org/devices/
Then instead of the official LineageOS build, get one from here with microG preinstalled: https://download.lineage.microg.org/
For low budget folks, a lot of Xiaomi phones are supported. You'll have to sign up for their account and wait for a few days, but otherwise the process is pretty straightforward. E. g. this is for my current phone: https://wiki.lineageos.org/devices/ginkgo/install