Those are 6V motors, I think (please check). You are feeding the motor shield with 4.8V, and the L293D will drop the voltage the motor sees by 1.4V to 1.8V, so you end up with only 3 to 3.4V across the motor.
Using primary cells of 1.5V each should show some improvement, and yes, so would a more efficient motor driver.
You can experiment by connecting a motor to 4.8V and to 6V, both with and without the motor driver inbetween, and see the differences.