Quick answer, Firewall for Server 1 is rejecting the packets while firewall for server 2 is dropping them.
REJECT: Reject the packet and notify the sender that we did so, and stop processing rules in this chain.
DROP: Silently ignore the packet, and stop processing rules in this chain.
Server 1 (iptables) is rejecting the packet and replying back with an ICMP host unreachable message.
REJECT all -- anywhere anywhere reject-with icmp-host-unreachable
It says host unreachable like an upstream router while it implies the server is live and reachable because its IP address is still seen on the source IP of the reply packet.
This rule could be configured to simply reject with refusal:
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Server 2 (Amazon firewall) is dropping the packets, it causes the client to retry the connection until the threshold time is exceeded, then it generates the "Connection timed out" error message.
DROP all -- anywhere anywhere