Slavery = economics. The war was fought over taxes and money issues which included slavery and all of which were rooted in states' rights, but the war would have never been fought over slavery alone. The North fought the war to preserve the union and keep the tax revenues from the South. The fact that many Northerners wanted to see the slaves free gave more political leverage to the Northern war effort, but that issue took a back seat to the preservation of the union.
World-wide, most whites of that day felt superior to blacks. I believe if the economic/industrial structure of the North and South were switched, the war would have still been fought and the North would have been the side condoning slavery.
The Union soldiers actually fought against self determination; it was the Confederates who fought for the right of their people to govern themselves.