Eve supports bulk inserts, which means that a POST can (and usually will) contain multiple documents submitted for insertion. Some of these document may pass validation and will be inserted, others might fail validation. This is why you get a 200 (request was accepted and processed) and an array with the payload. Each array item contains the id, etag, creation date of the successfully inserted document or, if validation failed, the reason why the document didn't pass it.
This said, I'm considering making bulk insert optional, which would make returning a 4xx on the single document validation failure perfectly reasonable.