Matrix is nice and Mattermost is basically self hosted Slack. Probably better off with Matrix, if you don't need voice. Mattermost I'd you do. Rocket chat seems nice as well.
I'd probably run Matrix and Mumble?
We ran RocketChat at work for a few years before migrating to Teams.
RC could be good, but maintaining it long-term was an enormous pain. Maybe it's better now, certainly if you're using docker... But a manual install was always a laborious task on upkeep for us. Also worth making sure you don't need commercial features, as they've removed free features in the past to drive sales...
Yeah, for business I use both and Slack is quite nice to work with. Everyone forgets the hidden cost of running your own chat server. It's fine for a hobby, but I'd always have a larger company run critical back end services. They have the time and the money to invest in keeping things working when it matters most.