What is the difference between hook_field_attach_validate() and hook_field_validate()?
hook_field_validate()
 Should be used to validate the form for your modules fields.

hook_field_attach_validate() works on field_attach_validate() which is more for back end validation.


  This function does not perform field widget validation on form
  submissions. It is intended to be called during API save operations.
  Use field_attach_form_validate() to validate form submissions.


Are the fields ones which your modules is creating, or are they fields from a third party module? 

The #element_validate property may be what you need to validate another modules fields.