You will have some amount of voltage drop across each of the transistors. Also, the 9V battery may not be able to supply enough current to the motor. When doing your calculations, check the voltage of the battery under load and measure the voltage across each transistor and the motor. They should add up to match the battery voltage under load.
The battery voltage remains above 9V even when on load. That means that there is a 1.5V voltage drop somewhere because my multimeter reads 7.5V between the motor wires.
Also, I think there is something wrong with the resistor values that I have chosen for the transistor bases. I tried 470, 2k2 and 4k7 and the greater the resistor was, the better the transistor performed so I think it might have something to do with that.