power mosfet with stm32
Your NMOSFETs achieves their rated \$R_{dson}\$ at 4V but your STM32 output pins only apply 3.3V. Your PMOS gates achieve their rated \$R_{dson}\$ at 10V but you are only applying 5V to it.

Your MOSFETs get hot and your motor doesn't move because your MOSFETs are only partially turning on, acting as resistors that heat up a lot, but don't allow enough current to get to the motor.

Pay ZERO attention to \$V_{gsth}\$ when trying to use a MOSFET as a switch. \$V_{gsth}\$ is when the MOSFET just barely starts to turn on. Do you want the MOSFET to barely turn on? Or do you want to achieve the rated \$R_{dson}\$? In that case, use at least the \$V_{gs}\$ specified in the datasheet to obtain the rated \$R_{dson}\$.

Also, PWM won't work well if you do not slam the MOSFET gate-source capacitance with enough current to turn it on and of quickly. Your MOSFET will just heat up since it spends too much time in the region of half-on/half-off where it acts as a resistor. Your STM32 pins driving the NMOS are limited in drive current and the 10k pull-up resistors also limit your PMOS gate drive currents.