Because it's firmly in the category of easier said than done.
For starters, it would mean logging every message in every channel. IRC servers are (traditionally) relatively stateless and adding a database for logs is a very nontrivial ask.
Server-side logs are a non-starter for many server ops due to exposure to the legal system (dealing with warrants, subpoenas, DMCA, "right to be forgotten", etc). Way easier to say, sorry, we don't have any logs.
It doesn't take a whole lot of active channels to start eating up serious disk space. And of course for every user connection, you incur a complex db query, the results of which need to get sent back to the client, meaning every new connection is expensive in all of disk, cpu, sand network at a minimum. Most IRC servers are run by volunteers who aren't looking to beef up their server specs by an order of magnitude for one convenient feature. This is more doable now than a decade or two ago but it's still a big ask.
You would need to convince all client authors to support server-side logging. Some will, some won't.
Last I knew, most IRC servers didn't support authentication directly. If you wanted to "own" your nick, you had to register with a bot-like service. This means you can't get your logs until after you've authenticated to NameServ or whatever.
Channels are ephemeral. Unless registered with services, a channel does not exist until a user joins it. Once the last user leaves, the channel doesn't exist anymore. Logging would mean channels are no longer ephemeral.
Traditionally, the IRC networks and server authors have responded to these kind of feature requests by saying they should be done by the client, not the server. And I think I have to agree. There's nothing that Slack does (for instance) that can't be done with a sufficiently advanced IRC client.
Keep the server as a relatively dumb message broker and put all the smarts in the client. If the features are useful enough, other clients will implement them too.