You can try bleach baths! dilute the bleach with some shampoo/conditioner, water, maybe some oil and just gradually lighten your hair. in between each bleach bath do some sort of deep treatment. i've tried this once and it didnt damage my hair too much and I didnt lose my curls!
A good blue hair dye that would show up nice and blue (not green!) on hair that's not really blonde is special effects blue velvet! it has purple undertones and at first shows up really dark. So you could probably just get away with lifting your color to a golden shade.
Also, something you could do to make the dye last really long is to leave it in over night! colorful semi-permanent dyes like special effects have no ammonia or any chemicals that would harm your hair so it'll be fine
hope this helps!