if both focus conditions do not work you could check if this happens due to the key itself which has its combination with shift already bound to something else.
Also the “exists”-Condition is already included in “harm” or “help”, therefore I would simplify the macro a little bit to make the debugging easier. And the last condition might create an issue as well since the “@player” condition targets the player itself (that means you).
Therefore you might try this instead:
Bind the combination “shift”+ on the place of the originial key and then change it back. This ensures that the shift combination is free and ready to be used
Try this macro instead (a little bit cleaner without the @player condition for Dispel Magic)