Speedcontrol for a 14.4V DC 20A motor
If it is truly a DC motor you simply apply power to and it runs, then you can PWM the DC.  I'd use a suitable N channel MOSFET as a low side switch controlled by whatever generates the PWM.  Put a Schottky diode in reverse across the motor to give the inductive kickback current a safe place to go.  Start with a PWM frequency in the 24-30 kHz range.

If it's a brushless DC motor, then you need something more complicated because the circuit has to do the commutation too.

The drill already has a suitable motor controller in it.  The first approach might be to see what the trigger control does and either actuate it directly or mimic its effect.