form_set_error Not displaying error after invalid form submission
I  made a  quick test module using your code, and I was also not getting any error messages.  The error message problem was solved when I added '#title' fields to each of the elements in your form array.  Drupal is using those to figure out what messages to display.

The reason form_set_error message isn't getting set is because drupal displays at most one error message per field, and it is already detecting that the user_email field is required and setting its own error message because of that.  If you want additional validation, you'll have to check for more than just the existence of the field, and also pass in some malformed data.