Instead of taking the blows and keep moving, maybe it would be better to your own health to simply quit.

Unexpected circumstances caused a delay on your task and your boss lashed at you.

You need to keep avoiding a guy that keeps bad mouthing some minority, something that you don't agree.

Another guy keeps an aggressive posture around women, and you know that's not something nice to do.

Yet a third one keeps complaining that, when he's not around, things don't work.

I've to say it: You're in a toxic environment. Even if the pay is nice and the project is interesting, it's not worth your health. You'd end up being a constantly pissed off, annoyed person on your forties (cough).