Validation doesn't work because the onSubmit="" was set incorrectly in the 'Modern' theme.
<form action="index.php" method="post" onsubmit="javascript:return contactForm();">
If you change it to validate_contact() it works.
<form action="index.php" method="post" onsubmit="javascript:return validate_contact();">
However, php doesn't validate email.
If user has javascript turned off, you can send form without the email.
With the javascript validation, both email and message fields are required.
Might need to add email validation in php before submitting.