Ok. Let’s examine this point disengaged from the political element for a moment.
One—you are correct. The jokes were, I’d even say are, offensive.
Two—they were made a considerable time ago (i.e. 7-12 years ago, not last week).
Three—he has apologized, repeatedly.
Four—he has not repeated the offensive behaviour.
Five—he accepted his firing gracefully (i.e. he didn’t make a public spectacle whining about the unfairness of life).
Now, let’s pretend, just for a moment, that instead of being a Hollywood filmmaker, James Gunn is an auto mechanic (or any other profession that doesn’t put you in the spotlight). And that, 7-12 years ago, he expressed offensive jokes, not to “strangers on the internet” but to people around him at work or over some beers at the pub. Not all the time, but often enough to be a pattern rather than a singular screw up. Then one day, his boss pulls him aside and tells him he better shape up or, despite his talent, Gunn will be let go. His jokes are making his co-workers increasingly uncomfortable, citing some specific complaints that make Gunn realize he needs to change and he’s been more offensive than funny. So Gunn faces a choice—double down or change his behaviour. He chooses the latter. He apologizes to his co-workers and promises to change. They, quite rightfully, remain sceptical for some time. But he perseveres. He makes no more offensive jokes or comments for six months, a year, two years, three, etc.
Seven years later, a customer, unsatisfied with the results of a repair, finds a YouTube video of Gunn at a local bar 9 years ago, moderately drunk and telling offensive jokes that someone thought would be amusing to upload, and storms back to the garage demanding Gunn be fired. The boss refuses and the customer releases the video on Twitter, with a message singling out the garage as coddling a pervert. Does Gunn deserve to be fired in this alternative scenario?