One thing worth considering is Computer Science. Some people argue it is engineering, some argue it is science, but it doesn't really matter.
In the modern world, probably way more of what makes things happen is actually in software than building hardware. Even crazy things like camera lenses have a chip running some software in them. An electrical engineering degree will teach you lots of programming, and a load of stuff about electricity, whereas on a CS degree, you learn all about computer based problem solving in depth. Personally I think most of the more interesting problems involving tinkering with software rather than hardware.
Like engineering, there are lots of boring jobs you can go into after a CS degree, but there are also cool things that require programming.
At the moment, I am messing around with automated ride systems at work. They are cool in a big machinery way. The engineering element is pretty much a solved problem (some clever engineers put some big motors together, and make a control panel with lots of safety limits on, we hook some actuators on to the control panel), whereas the ride automation stuff we're looking at is purely software, and no one has done it before.
Computer science is a bit mathsy, and being good at maths really helps you be good at programming, but to be honest I reckon on most CS courses the maths is way less hard than engineering maths.
Joe