Southgate is spot on here. If you think otherwise, for any of the following, here's the counter argument:
"He should have sent Sterling home"
Firstly the media would make an even bigger story out of that. Secondly, Sterling would be thinking "What might Gomez be saying about me to the rest of the squad if I'm not there?". It's human nature and that thought will linger. It's better to have them both around within the group, carry on as normal, and focus on football. Sterling will undoubtedly play the second game on Sunday, and probably have a blinder.
"He should have punished both of them"
There isn't a single account of the incident that gives any reason to suspect Gomez was at fault. Why should he be punished?
"He should have kept dealt with it in-house"
Things leak. Southgate acted in response to the leak. Given the events of the weekend it would be pretty easy to put 2+2 together.
"He's our best player"
We've had equally talented players bring club rivalries into the England camp, to the detriment of everyone. As someone pointed out earlier in this thread it's impossible to overlook the cliques and club rivalries when assessing the failure of the 'golden generation'. Southgate has quashed this and sent a message that the team is the most important thing, and he has the backing of the dressing room.
"Gomez was fine with it and asked Sterling not to be punished, so why punish Sterling?"
Players don't have the luxury of dictating rules to the manager. Actions have consequences. Going back to school days, if my mate smacked me around the head in view of the headteacher but I said "don't punish him" do you think it would have meant he'd avoid detention? No chance. And if you think likening this to a schoolyard scuffle isn't a relevant analogy, then give your head a wobble and consider the immaturity shown on Sterling's part.