The N-channel MOSFET high-side drive is more difficult. The N-channel MOSFET needs about 8V VGS to fully turn on. If the MOSFET is on, the voltage at source would be 12V. However, with respect to ground, gate voltage would be about 12V. So, VGS (voltage at gate with respect to source) is 12-12=0. So, the MOSFET will be off. For the MOSFET to be on, the voltage with respect to source must be at least 8V. So, voltage with respect to ground must be at least 20V. However, the positive voltage of the circuit is 12V, so driving the MOSFET with 20V becomes a little complicated. You would need a charge-pump circuit or a bootstrap driver circuit.
The diodes parallel to the MOSFETs are built into the MOSFETs. They are known as body diodes.
The motor could be turned left or right. Speed may be controlled as well if PWM is implemented. If Q1 and Q4 are on while Q2 and Q3 are off, the motor turns in one direction. If Q2 and Q3 are on while Q1 and Q4 are off, the motor turns in the other direction.
Hope this helps.
Tahmid.