You'd think I'd understand logic by this point.
We still need the 'data' key because that's where the error messages go. Change the line to
<?php
if ($service != 'data' && !in_array($service, $usps_services)){
unset($services[$service]);
}
?>and things will work better.

