Tackling this from an engineering perspective, it’s not necessarily trivial to provide third-party login services. OAuth2 does make it easier, but you can’t technically just slap a login button on your page that links through OAuth2 (or whatever other federated protocol) and not have to do anything else.
For example, Google actually has some pretty specific requirements for how their login button should look, where it should be placed, and a slew of other things as well. To actually abide by their ToS as a third-party service using their SSO functionality (and thus not get hit with litigation or blocked from using their sSO functionality), you have to meet all those requirements and not be doing something they deem unacceptable to be associated with (or possibly consider to be direct competition with one of their services).
Pretty much all major SSO providers have similar requirements as well. In general, these are usually not extremely difficult, but some sites may not consider it worth the hassle (or they may be snobs who refuse to accept the stylistic aspects required by the SSO providers).
Each provider also provides slightly different sets of info which will have to be normalized for your own account database, and depending on the specifics, you may even have to deal with different protocols.
Even aside from the engineering aspects, there’s the public image aspect. For example, a company that prides itself on being ‘All American’ probably does not want to list Yandex or Alibaba as a SSO provider, as those companies are very much not American and that might hurt their image with prospective users.