Then you have General Joseph "Fighting Joe" Wheeler.
A graduate of West Point Class of 1859, he was one of many that resigned in 1861 and went home to fight for what they saw as "Their Home". A hero many times over in the war, he was recognized as one of their brighter commanders, and at the end of the war was a Lieutenant General.
And in 1880 he was elected to Congress as the representative from Alabama. And during his 20 years in Congress he constantly strove to heal the wounds of the Civil War.
And when the Spanish-American War broke out, he petitioned President McKinley to be allowed to join. He was appointed as a Major General, as the commander of volunteers (including the "Rough Riders"). And immediately upon the conclusion of hostilities in Cuba he sailed to the Philippines where he served for another year before accepting a commission as a Brigadier General in the Regular Army. He retired as that rank in 1900.
One famous bit of history about him was in 1902, when he attended the 100th anniversary celebration of the US Military Academy at West Point. A great many alumni who he had served with were also in attendance, including Lieutenant General James Longstreet (CSA) and Brigadier General Ed Porter (CSA). But instead of wearing his Lieutenant General CSA uniform or his Major General Volunteer uniform, he wore his Regular Army Brigadier General uniform. The lowest of all 3 ranks he held.
Longstreet famously quipped to him when he walked up in "Yankee Blue" "Joe, I hope that Almighty God takes me before he does you, for I want to be within the gates of hell to hear Jubal Early cuss you in the blue uniform."
He left the US military for reasons of his own, but especially considering his actions after that war was over I would find it hard to believe anybody who called him a "Traitor".
He is also 1 of only 2 Confederate Generals interred at Arlington.