A lógica booleana do seu primeiro teste está errada:
if [[ "$ext1" != 'flac' || "$ext1" != 'mp3' ]]
Todo arquivo corresponde a: se sua extensão for "mp3", então "$ext1" != 'flac'
é verdadeiro.
Você quer um dos
if [[ "$ext1" != 'flac' && "$ext1" != 'mp3' ]]
if ! [[ "$ext1" == 'flac' || "$ext1" == 'mp3' ]]
if [[ ! ("$ext1" == 'flac' || "$ext1" == 'mp3') ]]