Multiple Field Widget instances on the same page, validation problem
Check out the API page for form_set_error. This bit should help you out:


  $name The name of the form element. If the #parents property of your form element is array('foo', 'bar', 'baz') then you may set an error on 'foo' or 'foo][bar][baz'. Setting an error on 'foo' sets an error for every element where the #parents array starts with 'foo'.


In your case you'll just want to make sure that the parent item is different for each instance of that field, then set the error with form_set_error($parent_name . '][' . $field_name, '...')