CTRL-4 is bound to something else, somewhere in your UI. Better check for it in the keybinds!
By default (i think?), Shift-1, Shift-2, Shift-3, etc, is bound to changing the page for your main action bar. This takes priority over macros - so, instead of activating your shiny [mod:shift] macro placed on the
1 button on the action bar, it changes pages. Or just doesn't do anything. If you make sure Shift-1, isn't keybound to anything, then it'll work. Etc, same goes for any key combo.
There's a really silly way to make it look better. I do this, personally;
Lets imagine this macro only has 2 spells in it, but I want to avoid the ugly question mark;
Code:
/cast [nomod] Penance
/cast [mod:Shift] Smite
/cast [mod:ctrl] Penance
/cast [mod:alt] Penance
So, you just repeat the first spell, for the remaining modifiers. This way, if I'm pushing Alt for whatever reason, the macro still shows a pretty Penance icon, instead of [
?].
If you have really complex macros, there isn't room to do that - because it's full of actually useful stuff. In that case, you just have to live with it unfortunately :\