I‘m not familiar with other US sports, but from what I understand, in the NFL for example players are usually called by their surname, right? Like Brady isn’t called „Tom“, Mahomes isn’t called „Patrick“, Rodgers isn’t called „Aaron“, etc.
Also, in european football it is common to call players by their surname. Messi, Ronaldo, Haaland, Mbappe, Lewandowski, Benzema, Bellingham etc… in 99% of the time football players are called by their full surname.
But now look at famous NBA players of the past: MJ, Kareem, Hakeem, Magic, Wilt, Shaq, Kobe, Dirk, etc.
Or famous players in todays league: LeBron, Giannis, Joker, Luka, Klay, Draymond, CP3, KD, Russ, AD, or famous rookies like Wemby, Chet.
Of course there are also famous players who are mostly called by their surname (Curry, Harden, Tatum, Booker, or in history guys like Bird, Duncan, Stockton etc). But rejecting the surname seems to be much more common in the NBA than in other sports league.
How did that come about? Was it always like that? What started this tradition?
I actually don't think this is generally true.
Bird, McHale and Parish were not referred to as Larry, Kevin, and Robert regularly.
The great trio of the 90s, Jordan, Pippen, and Rodman were usually talked about by their last names.
Stockton and Malone were Stockton and Malone, not John and Karl.
Iverson, Mutumbo, Duncan, Ewing... Really the list goes on.
Even the great stars of today, many are usually referred to by last name. Think about the great calls.
"Bang! Bang! Oh, what a shot by Curry!"
"Blocked by James!"
Jokic, Embiid, Tatum - these guys are usually referred to by last name.