I... think I can answer this.
From what I understand personally, it could have been a naming convention to uphold each station to be unique. So in 1954, Bloor was fine. Then as the Bloor-Danforth Subway opened in 1966, they had a stop at Yonge Street and that stayed as "Yonge" and colloquially known and made as Bloor-Yonge Station to incorporate both platforms even though each playform is named separately. When Yonge was extended in 1974, Sheppard Station opened for business and remained as "Sheppard" without issue. Whereas in 2002, the Sheppard Subway opens.
Now here's the kicker, some may say it's easier to just call it "Yonge". However Bloor-Danforth has a "Yonge", so they went with Sheppard-Yonge Station for the Sheppard Subway while Sheppard Station (on a semi-internal basis) continued to remain for the Yonge Line.
Now as for St. George, they both cross the same way at St. George Street (best as I can guess) and Spadina (instead of Lowther), was to save money. And Kennedy I suppose just for the sake of simplicity since everyone knows where Kennedy Station is. GO followed along and did the same in 2005.
Hope this perspective helps. Anyone who can provide further details or corrections, please join in.