Update multiple contacts failing
The problem was caused by the max_input_vars php setting being too low.  The effect of this is that $_POST is truncated and therefore the form was failing the required field validations since the data was not actually reaching the form.
Raising max_input_vars from 1000 to 2000 in php.ini resolved the problem.
However, if the profile does not have validation rules the form is processed with the truncated data resulting in data loss (depending on the field type).