Parece que a resposta que você procura está bem na página do manual do mdadm
[create, build, grow]
-N, --name=
Set a name for the array. This is **currently only effective when creat‐
ing an array** with a version-1 superblock, or an array in a DDF con‐
tainer. The name is a simple textual string that can be used to iden‐
tify array components when assembling. If name is needed but not speci‐
fied, it is taken from the basename of the device that is being created.
e.g. when creating /dev/md/home the name will default to home.
e para montar
-N, --name=
Specify the name of the array to assemble. **This must be the name that
was specified when creating the array**. It must either match the name
stored in the superblock exactly, or it must match with the current
homehost prefixed to the start of the given name.
O que explica porque o atributo name não é fixo depois de definido. Se você fez isso funcionar, por favor, responda com um comentário que a resposta fez o truque para você. Alternativamente, você sempre pode criar links simbólicos usando uma regra do udev e o UUID da matriz como uma âncora.
Eu não vejo razão em adicionar o nome falso ao /etc/mdadm.conf, você já está usando o UUID que é o nome da matriz canônica. Adicionar outra variável, que você acha que pode mudar, é apenas uma manutenção desnecessária e um problema, por exemplo. matriz falha ao iniciar.
Além dessas observações, o melhor lugar para entender porque você simplesmente não pode atualizar o nome em tempo de execução é fazer ping na lista de discussão do linux-raid.