It's not just installing a chat server though. It's setting up the server in general, securing the chat server, make the chat server work with your companies choice of auth, updating the chat server, updating the underlying server, .... How about file transfer in chat? Pictures? Gifs? ... That's what you gotta do with every solution you want so self-host. It takes time, costs money, and is likely still leading to a worse user experience.
Are there companies who self-host their chat and project management? Pretty sure there are. In the end, that's why slack is has a free option that works well for small teams that do not need to keep old messages.