Its not as hard as you think.
If 2k creates a player and puts him in the game with the name Charles Barkley then yes its sue city.
Now lets say they create a VERY generic player, with Charles measurements and puts him on the 76ers all time team and names him "Power Forward". Being 6' 6", 250 pounds, bald, lightskin is not inclusive to one man on earth. Also 2k can put whoever the heck they want on any teams roster. So you cannot prove that the player is 100% a depiction of Charles Barkley. All 2k has to do is find a dude who looks kinda like Barkley and say that yes Charles is the inspiration for this player but this gentleman right here is who we depicted because we couldn't get Charles.
This wouldn't work for the NCAA because its unrealistic that a company would be able to get 2000 look alikes to depict the likeness of these kids. If 2k has less than 10 guys who they have to depict without a facescan then its believable that they went out and found 10 guys who looked like actual NBA players.
Like in simple words. You can copy Charles likeness and make money off it. But you can get a random guy off the street and scan him, and call him Charles Barkley even if you go as far as place him on a team that the real Barkley was on....because at the end of the day you are not depicting the actual Charles Barkley. You are depicting a look a like.
Now if your asking well if it's that easy why haven't they done it, the answer is they don't have to because of community creations and two they are very respected by the NBA and basketball players and they probably don't want to hurt that relationship.