Their spec just happens to describe whatever the compiler decided to implement, it's not a source of truth.

How do you think that C got specified?

Do you think that it was made up from whole cloth in the abstract machine and implemented later? No, it was based on the available implementations of its time.

On top of that, languages like Python do not have a specification and yet have multiple implementations.

That's literally what the C++ specification does. The reason for all the UB and implementation defined stuff is because 90s compilers disagreed on sizeof(int).

I don’t think it’s a fair argument to criticize a spec because it’s derived from an implementation. If anything it shows how the spec can be practically applied.

And? What did you think it was going to be? An abstract description that completely ignores the existing compiler?