Traditionally, Southerners are more connected to the land. A Southern might give directions, "Go up yonder past the felled tree.." It's a true stereotype even today. I always assumed that it was due to that, but I'm unsure.
Also, some battles have only one name, like Gettysburg or Fredericksburg, the latter interestingly was not called the Battle of the Rappahannock. Shilo was called Pittsburg Landing by the South, but it is widely known today as Shilo. Antietam was named for Antietam Creek but also called Sharpsburg by the North, but even though the battle was a Union victory, it's called the Battle of Antietam.
Why does one battle name dominant and why are there multiple names for the same battle?
You've got it backwards. Union named battles after natural features; Confederates named battles after population centers. I have only read speculation as to why.