As some others have said, matrix is great at this.
I use this ansible playbook to set it all up: https://github.com/spantaleev/matrix-docker-ansible-deploy it supports slack and discord too. There's not a lot it doesn't support actually, it's very good. The one thing I miss a bit is running multiple bridges of the same type on the same account (I have two WhatsApp and telegram numbers for example)
You can also use beeper which is hosted if you don't want to self host. Costs $10 a month. They employ one of the major bridge Devs so they know what they're doing. It's not to be confused with the recent beeper mini that's just for iMessage.
There's also element one from the Devs of matrix but they don't support all services you're looking for.
And yes native clients are available for matrix.