I think it has to do with the ratio of lone pairs to hydrogens for hydrogen bonding in each substance. Water has two hydrogens and two lone pairs, so each water molecule can form 4 hydrogen bonds, so you end up having very extensive hydrogen bonding within water molecules. HF has a bunch of lone pairs, but only one available H per molecule, so there are less hydrogen bonds being formed between HF molecules. And NH3 has 3 H's, but only one lone pair (kinda the opposite of HF), so again, less hydrogen bonds happening between NH3 molecules. Water has 'the perfect' amount, allowing it to maximize the number of hydrogen bonds.