The only way he was able to get as close to Perez as quickly as he did was via cutting corners, likewise he actually made the pass going fast enough to require leaving the track on exit. If he was going slowly enough to stay on track then maybe Perez comes back at him, or if he braked earlier then maybe he wouldn't have entered the corner as he did. It was because he felt safe going wide on exit that he had no problem going up the inside as fast as he did.
Likewise it doesn't really matter if Vettel was ahead into the corner, because the corner is the braking zone, the corner and the exit. As with Sainz, if he brakes earlier or goes slower in the corner to make sure he doesn't leave the track on exit then maybe he maybe Hamilton hangs it around on the outside.
When you're safe to be unpunished going wide on exit, it means you can dive bomb the inside, brake later, etc. Ricciardo was the same, he absolutely dive bombed Bottas, Bottas had to take avoiding action to prevent being hit as Ricciardo took the corner in such a way he had zero chance to stay on track. In doing this Bottas was slowed down significantly and as Ricciardo floored it on exit Bottas is defending a guy who only got into that position by feeling safe about leaving the track and flooring it.
All these things went unpunished and Max's was punished.