POSIX time is a beautiful thing. It simplifies time management for the vast majority of use cases. You can depend on 86400 "seconds" per day, yet still derive all the proper dates with a simple formula. For most cases, even software cases, time matters because we want to relate events to the natural rhythms of human life, not because we want to relate it to some arbitrary point in 1955 when the first atomic clock started ticking away.
The problem is that it's probably not the best thing on which to base your internal clock, nor for high-precision, SI second based algorithms.
The second problem is that a ton of Unix kernel code (Linux and *BSD), as well as the NTP system, is predicated on the existing behavior. Which is why the software industry and their lobbyists and politicians want to redefine UTC, instead of letting people migrate to TAI (or a TAI successor), with mappings to UTC.