Soweit ich es mit meinen leihenhaften Worten beantworten kann, ist PWM zwar boolesch aber durch die "Frequenz" des PWM Wertes entsteht eine Art Mittelwert. So ist beispielswese bei PWM 500 (Werte frei erfunden) nur die Hälfte der angelegten 12Volt dann auch tatsächlich bei den Motoren angelegt.

Dadurch ergibt sich bei einer Veränderung des PWM Wertes auch eine Veränderung der Voltzahl bzw. eine Geschwindigkeitsregulierung der Motoren.

Bevor ich meine Motoren angeschlossen hatte, habe ich die Werte zuvor mit einem Voltmeter gemessen und mir einen Maximalen Bereich in den Sourcecode geschrieben. Meine Motoren sind kleiner als Vmax.

Ich hoffe ich kann Dir damit ein bischen weiterhelfen.