Donors are receiving multiple receipts with ACH contributions
I dug into the code:

Firstly, in my humble view, it could use splitting into separate functions. One function is almost 400 lines long, making investigation hard.

I think I've seen the problem though. If your version of civicrm is less than 4.7.12, it won't activate a lot of the logic for recurring contributions. 

https://github.com/iATSPayments/com.iatspayments.civicrm/blob/a92dd620a8975469e65372b3e34c812e5130faa1/iats.php#L244

function _iats_civicrm_use_repeattransaction() {
  $version = CRM_Utils_System::version();
  return (version_compare($version, '4.7.12') &lt; 0) ? FALSE : TRUE;
}

For example, line 1425, which decides if to use line 1448, which currently reads:

$complete['is_email_receipt'] = empty($options['is_email_receipt']) ? 0 : 1;
try {
  $contributionResult = civicrm_api3('contribution', 'completetransaction', $complete);
}

Update
Oh, and there are also two unmerged patches from solid contributors: 
https://github.com/iATSPayments/com.iatspayments.civicrm/pulls