I've gone through all the comments above, and I'm glad to see such an interesting discussion here... what a stark contrast with other places!
To me, it's a soft penalty all day. What happens with soft penalties? They're penalties at the end of the day. Benatia should have known better than this, and Mr Oliver showed Europe he's got great balls by giving that game-changing call in the nick of time.
Now let's get back to the situation. Oliver blows the whistle. Juve players make a mess out of it. Buffon goes nuts and has a go at the ref. I honestly think that no one of the six- or seven-man crew England sent, at that time, could recall who had committed the offence. I bet Oliver's heart rate rose dramatically then, even though he managed to keep his cool and show Buffon the way out of the field.
Said this, it's a red card for dogso. Why not an attempt to play the ball? Benatia puses Vázquez from behind and jumps at him. Benatia has no chance of winning the ball, no matter how soft or mild the offence is. The 2016 law amendment wasn't made for this kind of professional fouls, but for those where a defender with an actual chance to get the ball commit a mistake and bring the opponent down with an innocent foul in the wrong place.
P.S.: For discussion: situations like this make me think that a yellow card for diving is insufficient. Stand in Lucas Vázquez's shoes for a moment and imagine you know you have not been fouled (not the case, but still). You have two options: to dive or not to dive. If you dive and you deceive the referee, you get a penalty, your team likely progress, and you get away with that. If you dive and the referee catches you, you just get a yellow card, your team won't lose a player, and you still have a decent shot at whatever your match goals are. If you don't dive, you never get anything.
I'm of the opinion that any player attempting to deceive the referee should be removed from the field. Be it to a sin bin, be it to the changing room.