#upload_validators missing error message
I was able to resolve the issue using the solution posted here.

As I understand it, the issues is caused by an ID being used more than once. To fix this, you can implement an #after_build callback that ensures the upload fields will have unique IDs.

To summarize...

Add an #after_build callback to the managed_file field:

$num_docs = 3;

// Build the number of name fieldsets indicated by $form_state['num_docs'].
for ($i = 1; $i &lt;= $num_docs; $i++) {
  $form['managed_file'][$i] = array(
    '#type' =&gt; 'managed_file',
    '#title' =&gt; 'Managed File' . $i,
    '#progress_indicator' =&gt; 'throbber',
    '#progress_message' =&gt; 'Upload successful!',
    "#upload_validators"  =&gt; array("file_validate_extensions" =&gt; array("doc")),
    '#upload_location' =&gt; 'public://doc/',
    '#after_build' =&gt; array("MODULE_file_managed_fix_duplicate_id"),
  );
}

$form['submit'] = array(
  '#type' =&gt; 'submit',
  '#value' =&gt; t('Submit'),
);


Create the following callback:

function MODULE_file_managed_fix_duplicate_id($element) {
  if ($element['#id'] === $element['upload']['#id']) {
    $element['#id'] = drupal_html_id($element['#id']);
  }
  return $element;
}


Once I did that and cleared all my caches, the javascript errors went away and the error messages starting working.