It's not so much that there is no loop. It's that the condition doesn't change and Hazel is set up to only run the rule the first time. The logic goes basically like this:
First time through:
- Rule A matches file X. Execute A's actions on X.
Second time through:
- Rule A still matches file X. Do not execute actions again on X.
Right now, the only way for it to work is if you structure the conditions so that the file doesn't match any rules temporarily (or matches a different rule) then matches rule A again, at which point, the actions will get executed.
I'll take this situation into consideration but adding some built-in looping construct can be dangerous as users are liable to create infinite loops.
As for AppleScript, you can google around or pick up a book. I believe this is the one most people recommend:
AppleScript: The Definitive Guide