Hola
No hay un "segundo root@localhost" ni un "segundo root@iron", si te fijas bien son usuarios sin nombres de usuario, es decir, usuarios anónimos.
CitarSome accounts are for anonymous users. These have an empty user name. The anonymous accounts have no password, so anyone can use them to connect to the MySQL server.
https://dev.mysql.com/doc/refman/5.1/en/default-privileges.html
En cuanto a si es seguro o inseguro eso dependerá de los permisos que tengan estos usuarios, también puedes ponerle una contraseña, aunque la verdad yo preferiría eliminarlos (mira el link de arriba para más información sobre estos usuarios y qué hacer con ellos)
Por último el "::1" es lo mismo que "127.0.0.1" pero para IPv6