In reply to cgales:
Also, modport port directions represent data flow across a boundary, whereas clocking block directions represent sampling or driving activity. There are situations where there directions are not necessarily the same.
Synthesis tools require modport information because interfaces are typically at the boundary of input into the tool. Simulation tools are very lax in enforcing port directionality because of lax customers. :)