Quick PWM primer:
You need your PWM controller to be rated for the input voltage you're going to feed it, or higher. You can use a module rated 24V on a 12V motor without hurting the PWM module, so long as the specs don't list a minimum voltage. You have a 12V motor, so I imagine you'll use a common 12V power supply. Your PWM module cannot be rated any lower than that.
PWM modules control speed by turning the power to the motor on and off very quickly, usually somewhere between 8kHz-20kHz depending on motor size and power. I have a treadmill controller whose PWM rate is ten hertz (yes, ten!) but yours should be above 16kHz to avoid an audible whine. There can be some interaction between the inductance of the motor coils and the drive frequency that affects power transfer and noise level. When the PWM signal is ON, the full voltage is applied, so you get all of your torque, but it's not applied for very long, so you don't get up to speed. The width of the pulse (on time vs. off time) controls how much speed the motor can build up. Because the pulse rate is very fast, it smooths out to a stable speed. If you set the speed with no load on the motor, and then load it down, the speed will change, but with PWM you can adjust things so that you have slow speed AND lots of torque.