TCP has a standard API called "TCP sockets" and in our environment we don't need to worry about which library implements TCP.
However, HTTP/3 explained says QUIC has no standard API. So, any program over QUIC depends on the library that implements QUIC. Porting those programs to other environments can also be a hard work.
Why did QUIC Working Group make this decision?
The QUIC working group defines the protocol. It doesn't write APIs. From there, many different groups went off and implemented the protocol independently. Each had different API requirements, so they all evolved a little differently.
You can find a (fairly out date) list of them here: https://github.com/quicwg/base-drafts/wiki/Implementations.
Several implementations (e.g. msquic) are cross platform (and even cross-language) so you shouldn't have to "port" to other environments.