Required Fields for User Signup
There was a bug in Craft such that when saving a user, if the username / email / password failed validation first, content validation would never get a chance to run.

Have just fixed that locally and it will go out in the next release.
The way you have your dropdowns defined (userCountry and occupation), they'll never fail validation because there will always be a value selected and submitted in $_POST.
The first name and last name fields on a user account are somewhat “special” fields.  There is currently no way to set them as required.  We've got some plans to revamp how user names are handled on “The List”™ for a future update.  In the meantime, if you want to make them required fields, you can create actual custom fields for them.