In fact, EFCodd (inventor of the relational database model) [1] coined the term "primary key" to refer to any number of relationship keys, not just one. He made it clear that it is possible to have more than one such key. His suggestion was that the database designer could choose one key as the preferred identifier ("primary key"), but in principle it was optional, and such a choice was "arbitrary" (that was his word). Since all keys have the same properties as each other, there is no fundamental need to choose any other over another.
Later [2] what Codd originally called primary keys became known as candidate keys, and one key was highlighted as the preferred one, which became known as the "primary" key. However, this was not a fundamental shift, since the primary key means the same as the candidate key. Since they are equivalent, this does not mean anything important when we say that "should" be only one primary key. If you have more than one candidate key, you may well call more than one of them “primary” if you want, because it does not make a logical or practical difference in the value and function of the database.
It was suggested (among me, among other things) that the idea of designating one key for each table as “primary” is completely redundant, and sometimes a positive obstacle to a good understanding of database and data design problems. However, the concept is so ingrained that we are probably stuck with it.
So the correct answer to your question is “agreement” and “convenience”. There is no good technical reason.
[1] Relational data model for large common data banks (1970)
[2]. in "Further normalization of the relational database model" (1971)
source share