The fundamental problem with replacing Slack is network effects. Your coworkers and customers already use Slack. It works well enough.
You can choose to switch your company away, maybe, but what do you do when vendors want to connect over Slack?
We really need an open protocol to build on.
XMPP exists…
Matrix seems like a decent enough open protocol for a Slack replacement, with XMPP/IRC/IRCv3 being more useful for bare-bones chat transport.
This Chatto thing unfortunately uses a Protobuf custom API and is explicitly anti-compatibility with other systems. The lack of interoperability may end up killing it, unless the experience is much better than everything else.