많이, as an adverb, approximately means "very", "many" and "a lot".
많이 공부하다 - to study a lot; 연필이 많이 있다 - there are many/lots of pencils (as a side note:《연필이 많다》is a bit different way to convey the same meaning).
너무 basically means "too (much)", but can also be used as a mean of extra emphasis, in which case it would roughly mean "so" and "very".
너무 예쁘다 - very/so pretty
There is also word《참(으로)》which can be used similarily.
참 예쁘다 - really/so/trully pretty
The difference is that 너무 is a bit of an intended overexaggeration ("too pretty"), while 참 rather simply means "really", "so (much)", "trully". Well, at least this is how a non-native speaker understands it, so take it with a minimal grain of salt.