'Federal' and 'Confederate' are correct for the two opposing armies, raised as they were by the Federal and Confederate governments. If anyone wants to apply political descriptions to the two armies, then they are 'union' and 'secessionist' or 'rebel'. For that reason (and not because anyone else thinks it's right or wrong) 'Union' and 'Confederate' seem out of place when used together. 'Union' implies fighting for a patriotic cause, while 'Confederate' means serving that government out of duty only.
For historical reference, the 'Union' army only seems to have existed from 1861 until 1865. It wasn't involved in any other American Wars, such as the Revolutionary War, the War of 1812, the Mexican War or any conflict involving American Indians. The Union army never fought in Europe or the Pacific, and the Union navy wasn't attacked at Pearl Harbor. If you belong to the National Guard and get called up, you are in Federal service, not the Union army.
Going back to the American Revolution, if either army could be called Union, it was the British army. That government was and is still known as the United Kingdom.
'Union' also reminds me of the Soviet Union (Union of Soviet Socialist Republics) and the Great Patriotic War.