Synology Drive has all the features you want and with desktop (macOS, windows, Ubuntu) and mobile clients (iOS and Android). The potential downside is that you have to buy a Synology NAS to run it. I’ve had one for a number of years and I’m still very happy with it.
I also really like Resilio Sync. The downside there is that while the mobile client supports selective sync (you choose which files and folders to always have on-device) only the paid “pro” version of the desktop client supports it.