Zoro would have done nothing in Whole Cake Island just like he did absolutely nothing in Jaya while Nami stayed clueless on their attitude. Luffy instantly understood why Sanji was attacking him, and so would have Zoro. That situation had nothing to do with Usopp's because, in one, Sanji was being blackmailed by one of the most powerful groups in the whole world and didn't truly feel nor wanted the choices he made (he was faking it all in order to protect the crew), while in the other Usopp made a decision on his own and consciously challenged Luffy —and, consequently, Zoro wanted him to take responsability for the actions he freely went for instead of spoiling him.