There are several things wrong or confused here:
- 24 V is very high for a MOSFET gate. These are usually specified to switch fully with 10 or 12 V. 24 V might be the absolute maximum, not what it's intended to switch at.
- A TL071 is totally inappropriate here. Those need several volts of headroom from both supplies at both the input and the output.
- Typical specs are meaningless.
- Use a FET driver. Driving a FET gate from a digital signal is exactly what they are for.
- Depending on the motor power supply voltage and the motor current, you might be able to use a FET that switches nicely with just 5 V on the gate. If the motor is powered from 30 V or less, then something like the IRLML0030 would work. You just connect its gate directly to the digital output.
- 500 Hz is probably fast enough for the motor to mechanically filter the pulses. However, there will likely be audible whine, and the current will probably change significantly during the on and off time of each pulse.
Even if you don't care about the whine, having a steady current matters. Think of the current thru the motor broken into its DC and AC components. Only the DC component moves the motor. The AC component does nothing useful, but still causes heating due to the resistive component of the motor coils. In short, the less AC component, the more efficient the overall motor drive is.