Earlier quoted context omitted.
You may explore Mattermost [1] if hosting on your own servers is a requirement. It is very easy to deploy and I found it very satisfactory, albeit testing with a relatively small team. I imagine scaling up would work. It ties in nicely with GitLab, which is another neat product for those who must not or wish not outsource information. [1] https://about.mattermost.com/
Matrix [1], mentioned elsewhere in these comments, looks interesting too and the Riot [2] app is similarly styled to Slack. [1] https://matrix.org/ [2] https://riot.im/app/#/room/#matrix:matrix.org
Disclaimer: I help run a small Matrix network.