This is no different than choosing a power amp to drive a very familiar linear motor called a speaker. The biggest difference is #if you intend change directions at full power briefly, then the Back EMF and forward drive doubles your differential voltage and with inertia , well you might as well increase the power requirements x4.
Load : if 24V @ 20A = 480 W (if# then *4)
Consider a good linear amp has a Damping Ratio of 100, which means the inverse impedance ratio of driver to load is 1/100.
If 20A is just the rated load and say Vcc=24V then you can bet the DCR impedance is 10% of that Vcc/20A=1.2 Ohms.
BTW: (Speakers are 25% ~ 50% DC and the rest is the mechanical acoustic impedance)
This TO3 is OK but still not much better than your average power transistor with 1.5 Ohms Ri. In fact, it is only 0.5 Ohms at 1.5A if you compute the slope 0.5.
For a "good" DC design my #criteria is RdsOn total=1% of Motor Rating V/I or 10% of V/Isc
Isc (short cct)=10x Irated is typical for an efficient DC motor. Therefore the DCR of the motor = Vrated /Isc
You want your driver to be 90% efficient say during a step acceleration transient? right? then 99% the rest of the time in light loads.
Now you see how why I use 1% driver impedance to Rated load impedance. Zr=Vr/Ir or 2% in a full bridge.
In case you didn't get it, a BJT is just an ideal transistor with saturation hFE Vce< 2V down to 10% hFE and it has an ESR or Ri equal to the V/I slope at rated current.
We call this Rce , yet they don't teach this in school., but Diodes Inc uses it on all daasheets in their "SuperBeta" power transistors (hFE>500).
It's basically the same as RdsOn in FETs.
The specs for efficiency are yours and then you deal with the cooling design and torque differences.
For another example see here. DC motor control ULN2803