how to drive two pairs of DC motors with arduino
The major disadvantage in your choices/options is the L293 chip itself. It and it's cousins (SN754410 and L298) are likely very poor for what you might be trying to do. Certainly they can switch with PWM very well but the inefficiencies of the output transistors render them nearly useless on low voltage, high current applications. Take a look at this: -



Highlighted in red are the areas of concern. This is what it means - when a transistor is turned hard on and conducting 1A, it will "lose" about 1.3V in the process. For a H bridge, two transistors are needed and therefore your motor receives battery voltage minus 2.6V when being driven.

So if you have a 6V battery and 6 volt motors the maximum voltage (typically) that you can put on your motor is 3.4V. Worst case 2.4V. There are much better devices than these such as the DRV8833. It uses MOSFETs and has a combined on-resistance in a full H bridge of 0.36 ohms - this means at 1A being drawn, the voltage "lost" is 0.36 volts. There are even more powerful devices too.

On your main question, I'd drive all four motors independently from separate PWM channels.