You can blame SPEC for lots of things (the most important one being that it may not be relevant for your workload), but I don’t think you can blame it for not being an independent benchmark. It’s made by a non-profit (https://en.wikipedia.org/wiki/Standard_Performance_Evaluatio...)
Yes, companies can try to influence the definitions of new SPEC benchmarks to make their CPUs look good and they also may spend time tweaking their compilers to look good on it, but it’s not that they write those benchmarks unopposed by representatives of other companies.
The SPEC benchmark code is rather short and synthetic. The vendors then write compiler "improvements" which are specifically designed for optimizing that exact benchmark code for their processors. It often causes the results to be unrepresentative of performance on general purpose code which nobody is doing that for.
Yes, companies can try to influence the definitions of new SPEC benchmarks to make their CPUs look good and they also may spend time tweaking their compilers to look good on it, but it’s not that they write those benchmarks unopposed by representatives of other companies.