When you are opening the port on the router, you are in effect allowing unsolicited traffic (i.e traffic that doesn’t originate from you) to travel through your router.
Because you have NAT (Network Address Translation), you need to tell your router which local PC the unsolicited traffic needs to go to.
With IL2, you must open ports 21000-21001 (IL2 only uses 21000 but you need an ending port) and tell the router which PC is your flying PC. This will direct the unsolicited traffic you get when hosting, to the correct PC.
Why would another game use those ports? Which “other game” are you trying to activate a service with? Which ports?
Login to your router and check the list of services under the Port forwarding, is IL2 already listed?
You are performing this on your router and not your s/w firewall?
No need to change anything on your router for HL.
Just go through the steps I put above - I can post screenshots if you like.