O problema são os espaços em branco no seu nome de arquivo. Seu novo shell não o trata como literal e o interpreta como arquivos separados.
Você pode usar a opção -print0 com o comando xargs :
find . -name "*.do*" -print0 | xargs -0 stat --printf='%n --- %y \n'
ou usando o comando -exec com + em vez de \; :
find . -name "*.do*" -exec stat --printf='%n --- %y \n' {} +
Geralmente, você deve evitar chamar o novo shell, porque você não pode garantir que seu resultado (nome do arquivo, neste caso) seja interpretado como segurança pelo novo shell.