Chat being real-time is certainly "approaching real life" much moreso than fully asynchronous email, but most people don't want either to be real life: chat still needs an element of asynchronicity to distinguish it as a technologically useful medium improving over actually walking into a real room.
To put it another way: if I'm in a real life room where being present for the full conversation is necessary, it's easy to excuse being late or going to the bathroom as unfortunate parts of life when people are repeating themselves. When there's simple technological solutions that can easily prevent me from missing anything important, and someone's telling me they don't want it because they like the inconvenience, that's harder to justify.
It's not trivial to setup a bouncer for the new guy who's just worked out how to connect to IRC.
As I recall, newbies often figured out how to do this pretty quickly, even before the recent trend of IaaS and free tiers. Shell accounts with bouncers were a quite common offering back in the day.
I learned a lot about how far matrix has come along and seems to have solved many of the swipes and gripes against irc.
If I need more context about those messages when I return, I can just ask those users (or a bot).
When I join an IRC chat there's a lot less baggage.. it's just a label / topic, it's very freeing.
logging, message fixing, embedded replies .. all great but not important in the end. These things are blending professional complexity with normal human moments. Not the right optimization (if optimizations are required at all)
Still maybe there could be a way to summarize those chats with some kind of a transforming generative text system that I hope exists one day.
You need the irc services to keep specified information (like ownership of channels and nicknames) and they probably could also collect logs, with some limitations in case of netsplits of course.