Those are 6 V motors, I think (please check). You are feeding the motor shield with 4.8 V, and the not-very-efficient L293D will drop the voltage the motor sees by 1.4 V to 1.8 V, so you end up with only 3 to 3.4 V across the motor.
Using 4 primary cells of 1.5 V each, or 5 cells of 1.2 V each, should show some improvement, and yes, so would a more efficient motor driver; there are several options (that use MOSFETs) for that these days, and they will make a big difference.
You can experiment by connecting a motor to 4.8 V and to 6 V, both with and without the motor driver inbetween, and see the differences.