I have some problem with my Leonardo R3 dosing pump on boot up. When sketch is fully loaded after boot up it work as it should. But when I reconnect power in first few sec. no.4 pump is started by itself and when LCD show data it stop spinning. I also noticed that if I let it running for some time and then disconnect the power and then after few sec. turn power back in then is all OK.
Is there a reason why you did not post your code here or attach it to your message ?
I am reluctant to click on links to random sites that I have never heard of.
The only difference I can see between pins 9, 10, 11 and pin 12 is that the latter is not a PWM pin. Why that should make a difference I don't know. Can you swap the pin assignments around and put all of the motor outputs on PWM pins. If nothing else it will eliminate PWM as a factor in the problem.
The level on the PWM pins must be setup during the initialization code which runs long before setup(). maybe you need to use external resistors to pull the line to the correct state at power on. but this sounds like a hardware design issue.
In setup() you need to set the pin as an output and then do a digitlWrite to set it to what ever level you need. Don't just set it to be output. This is not ideal as it wont cover the time between power on and your program starting to run but will help.