There is a prevalent and totally erroneous school of thought which naively assumes that people do bad things simply because they don't know any better, and so all you have to do is take them aside as you would a misbehaving kindergartener for some "training" and then all will be well. It doesn't work that way. Some people are just assholes and always will be, irrespective of any amount of "training" you give them.
It doesn't matter if somebody is a racist/sexist/homophobe as long as they don't act it out.
Their only purpose is to deflect liability from the company in case any employee should bring a court case. "Your Honor, we couldn't possibly be held responsible for condoning a hostile work atmosphere, we have our employees sit through those execrable things once a year." Judging from just how popular they are, this tactic is working well.