There was arguably more room when Hamilton went on the inside, Schumacher went across before Hakkinen went in, and Hakkinen just went in the inside because he didn't want to brake and keep momentum, it wasn't exactly a go at an overtake as he already had let go of the throttle before going on the inside.
Hamilton's move was a pure committed overtake but was cut across by button, thats the difference, he looked like he was a bit further back from letting go right before collision as hes Tyre was ahead of buttons before that stage, he clearly had the line.