O problema é que exec só se aplica ao segundo padrão, tente colocar parênteses em torno de suas condições de pesquisa, para corrigir isso:
find . \( -type f -name '&*' -or -type f -name '$*$' \) -exec rm -v {} \;
O importante é que isso não é um bug, mas um recurso, para que você possa fazer algo assim:
find -type f -name '&*' -exec mv '{}' ./backup ';' -or -type f -name '$*$' -exec rm -v '{}' ';'
se precisar