The problem is glaringly obvious to me! It's analogy is a blind two-legged animal that takes longer strides with one leg and runs around in a circle.
If instead the animal is allowed to see where it's going, it'll change the stride lengths accordingly and keep on the line it wants to go.
Speed of the motors is largely dependent on the voltage applied to the motor. The resulting current taken by the motor relates to mechanical loading applied to the motor. Limiting the current will only reduce the maximum available torque, not the RPM of the motor. Current limited motor is how the Reel Motors are operated in a recording studio's tape machine, the current limit of the motor dictates the tension of the tape wound onto the spool, and the RPM of the motor falls as the spool fills up with tape, the same reel torque. So you can see, reducing the current in your robot drive application is a folly!
I say, if you're trying to arrange the motors to run at matched speeds, then you might as well make it a fixed axle with same sized wheels instead, or add rails to run on.
Normally robots have independent motor speed controls for each wheel (doesn't have to be matched, just independently variable). Then control these motors according to the robot's (or commander's) perception of running straight ahead (or the lack of).