The rule is considered an “ip only” rule which is matched only once per flow, and the icmp echo/echo reply is tracked as a flow.
You can add a condition to the rule to make it a per packet rule (e.g. dsize:>0;
or icode:8;
), then it should alert per packet.