There are a few varying reasons why the Nazgûl didn't attack again, all of which I'll cover in this answer.
First off is Gandalf's opinion that he gives to Frodo in Rivendell, following that we have some common fan theories, based on evidence, that suggest why they may not have struck a second time.
- Unexpected Resistance
- Lack of Physical Power
- Frodo mentioning Elbereth
- Fear of barrow-blades
These are further elaborated below
Firstly, Gandalf gives us his opinion of what he thought the Nazgûl aimed at doing and in his opinion, they were successful and there was no need for them to start a second attack.
'What would they have done to me?' asked Frodo. 'What were the Riders trying to do?'
'They tried to pierce your heart with a Morgul-knife which remains in the wound. If they had succeeded, you would have become like they are, only weaker and under their command. You would have became a wraith under the dominion of the Dark Lord; and he would have tormented you for trying to keep his Ring, if any greater torment were possible than being robbed of it and seeing it on his hand.'
He clearly thinks that they in fact only aimed to turn him into a wraith, and could then have claimed him and taken back the ring.
With that aside, let's look at the various arguments for them trying to take the Ring at Weathertop rather than Gandalf's opinion of just trying to turn Frodo into a wraith.
By far the most common, a lot of people agree with Aragorn when he said
I don't think they expected to be resisted... They will come again another night, if we cannot escape. They are only waiting, because they think that their purpose is almost accomplished, and that the Ring cannot fly much further.
The Fellowship of the Ring: Chapter 12, "Flight to the Ford"
The main criticism with the above is that the Nazgûl wouldn't have been careless enough to just let Frodo go wander about with the wound, and would surely have gone for another strike. I'm of this opinion, as I feel the Nazgûl could not have known that Aragorn was the Heir to the Throne of Gondor and only one of such high stature would've been able to prevent Frodo so well from death. Furthermore, they didn't know Frodo would be so strong.
Lack of physical power
Another camp of users think that due to Aragorn's strength, he was able to scare of the Nazgûl due to their lack of inherit power. As stated in Letter 210:
They have no great physical power against the fearless
Suggesting that due to Aragorn's fearless-ness, they were unable to fight against him and therefore fled. However this seems to be counteracted by the fact that the Witch-king challenged Gandalf later in the books, and had previously challenged great foes.
O Elbereth! Gilthoniel!
The third group of people are those who support the fact that Frodo's cry of:
At that moment Frodo threw himself forward on the ground, and he heard himself crying aloud: O Elbereth! Gilthoniel!
Frodo's cry seemed to have caused him to some pain, as pointed out by Aragorn.
'More deadly to him was the name of Elbereth.'
Some people think that the Nazgûl were aware of the Barrow-blades and that in fact two of the Nazgûl had stepped back with only the Witch-king advancing.
Desperate, he drew his own sword, and it seemed to him that it flickered red, as if it was a firebrand. Two of the figures halted. The third was taller than the others... He sprang forward and bore down on Frodo.
However, Aragorn, as earlier pointed out, states that the words "Elbereth" was more deadly than the slash of Frodo's blade.
To fix the other answer's speculation: Frodo has no power over the Nazgûl, that lies with Sauron as he holds the 9 rings.