Why do I have to use the same ground?
Voltage is a potential relative to a point. In electronics, most of the time that point is circuit common, or ground. When the grounds aren't shared, there is no reference, so the 5V coming from the Arduino is meaningless. 

Another thing, put the common lead of the power supply as close as possible to MOSFET return path, ideally in the pin next to it. That will keep the return current off your ground bus, and that is known to make microcontrollers behave in undesirable ways. It may not be a problem for this circuit since its only 120mA, but it's a good habit.