Is it normal for a transistor running a motor to be very hot?
I wouldn't expect a 2N2222 running at 100mA to get hot if the circuit is designed properly.

Are you giving it enough base drive? You need about 10mA base drive.  If the processor is running off 3.7V you will need a 330 ohm base resistor (not 1k as in the link) to provide enough drive.

I'm surprised that the motors only take 100mA - have you measured them?  They may be be taking more. 

From the datasheet the collector voltage should only be ~0.3V so you will only get 30mW dissipation, that would not make the transistor hot.

The 1N4001 is not suitable as a flyback diode - it is much too slow.  Something like a 1N5819 would do, but there are many types that would be better than an 1N4001. A shottky would be preferable but a faster silicon junction diode would be better.