There is a bit of a theme with American Civil War battles where they tend to have two names; a northern name and a southern one. You will notice that the North liked to name battles after nearby bodies of water, while the South tended to be partial to nearby place names. For example, the Bull Run battles were known in the South as Manassas, and Antietam (named after a nearby creek) was called Sharpsburg in the South.
One other thing you may note from the above discourse is that when there are different names, it is generally the North's name that won out. Probably the simplest explanation for that without going into a lot of gory details is that the North won the war, so they got to write the history books.
That is why I believe the name "Merrimack" tends to be used (note that Wikipedia currently has "Virginia" in parentheses afterwards). From the North's point of view, the Merrimack was a US Navy ship, effectively stolen and modified by rebels.
Merrimack was still in ordinary during the crisis preceding Lincoln's
inauguration. Soon after becoming Secretary of the Navy, Gideon Welles
took action to prepare the frigate for sea, planning to move her to
Philadelphia. The day before the firing on Fort Sumter, Welles
directed that "great vigilance be exercised in guarding and
protecting" Norfolk Navy Yard and her ships. On the afternoon of 17
April, the day Virginia seceded, Engineer in Chief B. F. Isherwood
managed to get the frigate's engines lit off; but the previous night
secessionists had sunk light boats in the channel between Cranes
Island and Sewell's Point, blocking Merrimack. On the 20 April, before
evacuating the Navy Yard, the U.S. Navy burned Merrimack to the
waterline and sank her to preclude capture.
So as far as northerners were concerned, the ship was the Merrimack.
As to why it isn't known by a location name ("Battle of Hampton Roads"), that's likely just popular culture for you. The duel between those two specific ships is far more interesting to people than the location it happened to eventually occur at.
It probably doesn't hurt that from the North's perspective the duel ended in a technical win for them (the Confederate ship was the one that retired from the scene). If you look at the entire action, including all ships involved, the Confederates did considerably better.