Why is that Record name template cant get field values updated or assigned by trigger? It tends to just assign the record name template value to object name.
That's because of order of operations performed during update. You can try to set field "name" directly is you wish to.