The correct answer to the question:
...and why is it that the Union nomenclature for battles is often a geographical feature (e.g. Antietam, Bull Run) but the Confederate name for the same battle a place (Sharpsburg, Manassas)?
Is as follows:
The Union leaders would name their battle sites after the nearest body of water, while their Confederate counterparts would use the name of the nearest town, or church. Also, most of the battle sites today are known by the names the victors gave them. For instance in Florida the Battle of Olustee (a Confederate victory) is named after the town of Olustee, about 18 miles east of Lake City, had the Union been the victors it would be called the Battle of Ocean Pond, (a nearby lake)