To put some numbers on the board, you'd think #node.js and #javascript channels on Freenode would be massive given the ubiquity and low entry barrier of the technologies. But there are probably 10 regulars across both channels. I hang out in both daily and it's always the same people. Of course, they also suffer from the toxic personality of veterans that tend to scare away normal people.
Now compare that to Elm's Slack community. A much more niche technology yet an absolutely bustling chat community. And I can repeat this for all sorts of Slack/Discord communities I'm part of. Even my MUD Developer group on Discord is more active than any Freenode channel I'm part of.
Things like "always online" and offline messaging are essential for community building.
IRC never solved this because it requires everyone to have a sufficiently capable client (like paying for IRCCloud or using weechat in tmux on your VPS). Even if you solve it for yourself, you haven't solved it for anyone you talk to who will likely be logged out when they close their laptop.