A PWM driven motor is a buck converter. To the extent that your circuit and motor make a good buck converter, there is no difference between each of your options.
Some things to keep in mind:
At some much higher voltage, maybe around \$1000V\$, the insulation in the windings will fail. \$20V\$ is far too low for this to be a concern.
If your PWM frequency is too low for the winding inductance of the motor, the current over each PWM cycle will change significantly, you will have high torque ripple, and you no longer have a good buck converter. Performance and efficiency will suffer. In the extreme case, you may not even get the motor to spin.
Just as with a buck converter, a PWM drive involves transistors and other circuitry which is necessarily introduces additional losses. PWM drive is also more complex to design, harder to get working properly, is more expensive to implement, etc. Some of these losses (for example, hysteresis losses) are inside the motor, and will result in a higher motor temperature, which is usually the limiting parameter for motor performance, and a higher temperature will overall reduce the motor's lifetime. However, you would require a very poor design to make these losses approach losses you already have at DC, such as resistive losses in the windings, so the difference between PWM and DC drive efficiency is not much.