Eu adicionaria -depth para que árvores de arquivos possam ser deletadas em uma única passagem. O -name '*' é irrelevante.
Sua descrição diz que você deseja excluir certos diretórios . O -delete excluirá apenas os diretórios vazios. Seu código, conforme escrito, irá felizmente descer para o diretório acmecache e remover quaisquer diretórios que não sejam de propriedade de the_foo * _ users. Eu vou assumir que não é o que você pretendia, então você precisa usar -prune .
Tente isso em vez disso. Remova o echo quando estiver satisfeito com o resultado
find /nobackup -depth -type d \( \( -user 'foo' -o -user 'foo1' -o -user 'foo2' -o -user 'foo3' -o -user 'foo4' -o -name 'acmecache' \) -prune \) -exec echo rm -rf {} \;