The problem with your function is that :normal("z=")
is not the correct way to call the normal command. It should just be :normal z=
because it is not a function. Second the leading :
are not needed. So the function would be
function! s:spell_check_current()
setlocal spell
normal z=
setlocal nospell
endfunction
nnoremap <F1> :call <SID>spell_check_current()<CR>
While this brings up the spell checking window it doesn't allow the user to input anything so this probably isn't going to work.
Instead you should just turn off the highlighting for spell checking since that seems to be what annoys you most.
Adding these after your color scheme is loaded should disable the colors.
highlight clear SpellRare
highlight clear SpellBad
highlight clear SpellCap
highlight clear SpellLocal
This enables z=
to work for spell checking without colors.
If you want the colors to be toggleable you could create some mappings to put the highlight rules in place.