The Saviors are unpredictable though. Richard did all of this because he had a certain image in his head of how things would go, and all it took was that one dude to shoot at someone other than Richard for his plan to foil. It's too idealistic to think that everything is going to go a certain way dealing with The Saviors because they just don't operate like that. They are the dictators so they can do whatever they want even if it doesn't make sense. What Richard did was too risky. I don't know what should have been done to convince Ezekiel to go to war with them, but sacrificing one of their own including Richard himself wasn't the way to go.
Morgan really liked Ben and his death triggered the flashbacks so I can see why he reacted the way he did.
But the Saviors are assholes. Did Richard fucked up ? Yes he did. Heck, I feel like Darryl could've killed him for treating Carol's life.
But for Ben ? It's not like Richard wanted this to happen. Heck, if Ben did shut up, he wouldn't have been the target here. And it's even more messed up that Morgan brutally killed him this way, bashing his head like a crazy because he made a mistake, thinking he'd be the one to die, because then again, they're dealing with assholes who'd kill someone over a missing melon. Otherwise, if Morgan is up to his thinking, Rosita should be killed. Right, after all, she tried to murder Negan, thinking she had nothing to lose and Olivia was the one to bite the dust. Or Rick should be killed too, according to Morgan's logic, considering he's the one who attacked the Saviors which then killed Glenn and Abraham.
Was Richard an asshole ? Yes. But I feel like the way Morgan did that felt unwarranted compared with the whole situation. You basically have the guy who stayed calm with assholes beating the shit out of his friends for a missing food, trying to save a guy who was planning to kill everyone in Alexandria and would refuse to kill under the ultimate last ressort... But couldn't help to brutally kill a guy who messed up by accident, thinking of going down but failing and taking another guy instead.