O problema é que você está passando um arquivo de cada vez para grep . Quando grep vê um único arquivo em sua linha de comando, presume que você saiba exatamente onde está pesquisando, por isso não exibe o nome do arquivo antes das correspondências.
Um truque para forçar grep a sempre dar saída a um nome de arquivo é também passar /dev/null (onde não haverá correspondência alguma vez). Algumas implementações do grep têm uma opção para isso: -H .
Além disso, você pode usar -exec … {} + em vez de -exec … {} \; para executar o programa para muitos arquivos de uma só vez. Isso é mais rápido. Você ainda deve passar /dev/null ou -H , porque pode acontecer que o comando seja invocado exatamente em um arquivo, seja porque há um único arquivo correspondente ou porque há muitas correspondências exigindo que grep seja invocado várias vezes e uma vez acontece a um único arquivo.
find -name 'LYFNRE.*' -exec grep -f file1.txt /dev/null {} +
O GNU grep e implementações recentes do BSD (incluindo OSX) suportam opções para chamar grep recursivamente sem requerer find .
grep -R --include='LYFNRE.*' -f file1.txt -H .
Alternativamente, você pode fazer globalização recursiva em seu shell. Em zsh, isso funciona fora da caixa. No bash, você precisa executar shopt -s globstar primeiro, e cuidado com o bash que recorre através de links simbólicos para diretórios (diferente de find ou zsh).
grep -f file1.txt /dev/null **/LYFNRE.*