It's because most firewall rules we deploy are for a combination of layer 3 and layer 4 addresses, not just layer 4(port numbers).
And since layer 3 addresses are different between IP versions, we need different rules. (There may also be additional concerns if you enable V4 mapped addresses for IPv6)
And since layer 3 addresses are different between IP versions, we need different rules. (There may also be additional concerns if you enable V4 mapped addresses for IPv6)