McClellan's report shows, as noted by Col. Palfrey,
and Palfrey's point was that no matter the number on the rolls present for duty on a given morning report, simple realities prevented every man so accounted for from being actually in the line of battle, on the battlefield, over the next twelve or more hours.
The First Corps is credited with 14,856 present with the army at the battle. The day after the Battle General Meade, commanding, noted a large number of personnel were yet in the rear, many having straggled, etc., and others bailed or dispersed during the action...
Meade makes this statement as the Corps reported a total of 2,590 casualties on September 17, out of the 14,856 "present." Which should have left on hand 12,266 men on the 18th. But roll call found only half that many left besides the casualties. McClellan noted:
The point of "separation" mentioned would have been between the morning roll-calls/reports, and marching to and engaging in the battle. And as Meade mentions, some of the men in that number were dispersed during the battle.
General McClellan was aware of the issue of straggling, dispersion, etc., and noted:
Colonel Palfrey's claim was that no matter what was reported from the morning reports on the day of battle, even the best and mot efficient commands could not have gotten more than 4/5ths of the men present for duty into action... meaning in his view the average was somewhat less...
Palfrey's point being that he was satisfied that at best, and probably significantly less than, 70,000 Union troops were actually physically engaged in the battle to any extent.
Lee's accounting at Antietam, after deducting stragglers, details etc. was that he had not more than 30,000 physically engaged.