You can't have it both ways, either LeBron is right to freely express his opinions (regardless if you approve) or he needs to stay out of political discussions.
However you decide should be the same standard for everyone. If LeBron’s opinion is ok, then Bree’s opinion is ok and he needs no apology.
He didn't have to apologize, if he didn't want to. He chose to apologize, as he changed his thinking on the issue, after feedback from his teammates.