DC motors not spinning at same RPM?
If you are going to use BJTs for the PWM elements, you need to be aware that the base current should be (roughly) 1/10 the collector current. Your 220 ohm base resistors will only provide about 10 mA, assuming that Blend IOs can source that much. The ATMega data sheet suggests 4.2 volts min, so if you include the 0.7 volt base-emitter drop, you might get 17 mA. This, however, is greater than the 10 mA test condition which established the 4.2 volts, so it could be lower.

The reason your motors are spinning at different rates is twofold. First, your 2N2222s are simply not capable of putting out 1 amp (I see that you are aware of this, but the fact that you report your results using the 2N2222s suggest that you're not aware of how badly undersized they are.) Even if you get beefier transistors, you are not providing anything like adequate base drive.

Is there a solution? Yup. You already know you need to replace your transistors. What you need to replace them with is MOSFETs, and not just any MOSFET. You want logic-level units. Your gate voltage is marginal for more standard FETs. That is, if you go to something like the IRZ44N, for example, they may well work, but if they don't you have no complaint.