If I set a profile field to be non-mandatory, I still see errors with the forms requiring data to be submitted in those fields.
This is illogical. For example, if the software is configured to require a certain range, like a name with at least 2 characters, but the field is allowed to be optional, if someone leaves the field empty then no error should be present. However, IF someone enters something into the field then it should be required to match the specified parameters.
Errors should only be presented if a required field is empty OR the data entered doesn't match allowed parameters. Not both. There are times when you want to allow someone to leave certain fields empty to allow them more privacy but still require data entered in those fields to match criteria.