What does you mean under "doesn't not getting fired"?? Did you checked in firebug console? Or just action doesn't fired? Do you have messages on the page?
A mean after entering the required fields only the action method in commanLink is called. If we don't fill any required fileds then the action method is not called. There is no error showing in Firebug console.
Is the commandLink only for population of the modalPanel and does it has no connection with your required field?
In this way you can set immediate="true" to skip the validation of the form-values and show the modalPanel!
And in general why did you expect that cation will be performed? Did you believe that this ok for standard JSF components? ;)