You are correct - you can only use one IFTTT per flow.
There is a way around this, and that's with Functions:Variables thing.
You can create a flow that says "When ring is detected, change variable 'porch' to 'on', then wait 2 minutes, then change variable 'porch' to 'off'
Then you can create two new flows:
When Functions:Variable variable 'porch' changes to 'on'... IFTTT (turn light on)
When Functions:Variable variable 'porch' changes to 'off'... IFTTT (turn light off)
Hope that helps!