Los miembros no importan, pueden ser los mismos y la misma cantidad, pero si son distintas estructuras, estos pueden estar alineados de distinta forma, por lo tanto la asignación entre distintos tipos de estructura esta prohibida.
En cuanto a lo de los nombres, por mas que tuviesen el mismo nombre, son distintos tipos, para el compilador van a ser dos cosas completamente distintas.
Esto podría funcionar:
pero eso no quiere decir que sea correcto, invocaría comportamiento indefinido cuando menos te lo esperes debido a la posible diferencia en la alineación de los elementos de ambas estructuras. Lo que hay que tener claro es que son dos tipos distintos.
Si tenes dos estructuras completamente distintas, pero estas contienen los mismos elementos, entonces lo ideal es que utilices una misma estructura y declarar ambas bajo la misma entidad.
Por otro lado, si estas en C++, podes sobrecargar operadores u definir constructores adecuados. Igualmente dependerá del caso, en lo que respecta al ejemplo solo seria trabajo innecesario.
Saludos