That's not an issue with script; your code is perfectly fine
A lot of people have this misunderstanding about AddEnemyPathNode. A wait time of 0 does not mean the monster waits for 0 seconds. The monster will pause at any node he is assigned, regardless of the duration being 0 or otherwise. If you want him to loop in a circle, you need to clear his nodes then assign him a new one before he reaches his destination. Use collision callbacks for this. If he reaches his destination node, he will pause before executing his next movement, regardless of the wait time. It sucks, but that's how the game is coded
Edit to expand on your circle loop:
A good way to implement a grunt moving in a circle is to make a circle, and assign him every 2nd or third node along the circle. And before he reaches this node, clear his assigned nodes and add the next one in the loop. This way constantly moves the same direction along the circle; if you just repeatedly add the same node he could potentially turn around and go backwards, depending on how your nodes are set up.