The presence of _name is somewhat of a legacy of Fortran compilers. Unlike your local character variable, the name variable was an argument. Historically, and GNU Fortran might do this for compatibility reasons, the length of a character of assumed length always followed the character itself. I don't believe GNU's old g77 compiler would do this same procedure with arrays, though, which is why you wouldn't see something similar.
Clearly your nice local variable also has a length stored somehow and somewhere, but if you were to pass it to another subroutine as an argument, there would be a corresponding _nice since it would be necessary for compatibility.