So I think I've figured out part of the problem. The EPI datasets are from two different sessions with the same individual, 48 hours apart (session 1: runs 1-4, session 2: runs 5-9), and they are being aligned to the same anatomical file (collected at session 1).
I tried switching align_epi_anat.py to align the epi files to the anatomical file instead, but that may have just made it worse.
After using 3dCM, the EPI files are off by anywhere from 15-35mm from the anatomy (before any centering or alignment), and 55-75mm from the template (the anatomical's center is initially ~40mm from the template).
Unfortunately, this still doesn't solve my issue - if anyone has any thoughts, I'd appreciate it!