MOSFET full H bridge, voltage spike protection
That circuit of yours won't work because the high-side PMOSFETs will have 24V across Vgs when you pull the gate LO to turn them on. There are very few PMOSFETs that can withstand 24V across their gate-source. The source-drain voltage of the PMOSFETs is not the limiting factor here. Vgs is.

There are various ways around this such as using zener diodes so that the PMOS gate isn't pulled all the way to GND, but only 10 or 15V below +V



How long the transistors take to turn on and off matters. They act as resistors during this time and get hot so less time spent here is better. An internal gate-source cap needs to charge and dischaege to turn on and off the MOSFET.

Gate drivers tend to be required if you switch at high frequency like in PWM because of this or they overheat. Therefore, 1k is too large for gate resistors (R3/R4). Try more like 5 Ohms. MCU pins directly driving the low side NMOSFETs is likely too low current as well.

Large values of R5 and R6 also do not help but they cannot be too small either and this is where additional circuitry is required to not compromise. If I had to, I would use pull-ups of something like 1K, not 10K, so at least mA of current would flow. Then re-size R3/R4 accordingly.

That said, 500 Hz is slow. Possibly too slow (I've not seen slower than 8kHz) so you might get away with it if you actually run at 500 Hz. It's more like a really fast off/on thermostat at that point rather than true variable speed PWM...but you may not be able to tell a difference in your application.

Also, add large caps across +V and GND.




  I've read about consist of either: diodes, MOVs, low pass filters, capacitors, coils, gate resistors, but which solution is considered not overkill and "good enough"?


Just add some external properly sized flyback diodes anti-parallel to each MOSFET. Don't rely on the internal parasitic body diode of the MOSFET (which you can see in the MOSFET symbol).


  Also I've read that for PWM control, you should only use PWM on 1 of the MOSFET (N, P) pair, is that right?


Yes. You never want both transistors on left or right to be on at the same time. Even for a little bit. That's a short-circuit. So-called shoot through.


  using PWM to slowly ramp up" this is called soft-starting


This is called soft-starting. It helps alleviate the the high stall current when the motor is starting up and is still at low speed.