The echo reply has the same layout, but a different type byte and checksum.
The reply changes the type
The echo reply has the same shape as the request, but the type byte changes. Code stays zero.
reply type=0,code=0
Reply type
The reply type is 0. The code byte is still 0.
type=0,code=0
The checksum changes too
Because the type byte changed, the reply checksum is 0xedca instead of the request checksum.
reply checksum=0xedca
Summary
Request and reply are distinguished by type byte here. The checksum changes because it covers the whole ICMP echo message.
reply type=0