The reason is that mew was originally supposed to be a secret, even unknown to many people in nintendo. So to keep it a secret they had it last in the pokedex. It wouldnt be a secret if there was a space in the pokedex going from 149(dragonite) to a space(mew) to 151 (mewtwo). So they did it to hide mew's existence until it was revealed and released as an event. Another reason is that mew is event exclusive and all event exclusive Pokemon come last in the pokedex for their respective generation with the exception of vicitni.
The pokedex was just designed this way. They were both introduced in Gen I and the order does not always have to be perfect. Otherwise Arceus should be #001 in the pokedex.
Scientists couldn't prove Mew was real until they successfully cloned it, so Mewtwo was recorded first.