Because of it libraries for all kinds of services exist already. KDE Telepathy sounds pretty close to what you're describing (native (Linux) controls, multi window, no touch screen design, plenty of different protocols).
With the KDE project slowly seeming to move towards Matrix rather than XMPP I wonder how long Telepathy will stick around. It can still be a pretty good start for your own chat application, though, as large portions of the work have already been done for you.
An alternative approach I've seen people take is what I'm doing myself: Matrix/XMPP combined with various bridges. That way the chat client only needs to speak one specific protocol. It has its downsides but it does save you from having to develop abstractions over abstractions. You also get multi device support for free without having to scan tons of QR codes if you need to reinstall your client for whatever reason.
There are individual bridges out there that can fix that, though.