Shelby Foote in volume 1 on page 417, admittedly a secondary source, although he quotes the order of battle reporting McClellan with a “tightly knit yet highly flexible fighting force of 102,000, 236 frontline soldiers and 300 guns. Another 5000 extra duty men including Cooks and Teamsters, laborers and such like, were with the advance, while 21,000 more had been left at various points along the front road from Fort Monroe, sick or absent without leave or on garrison duty, to give him an overall total of 128,864.
He most likely got his figures from the OR. That is the source for the June 20 Union Army strength.