The kind of test you used for HIV was a 4th generation, which is accurate 28 days after the exposure, so it wasn't accurate in your case.
3 weeks is a good time to wait before testing for gonorrhea and chlamydia, but is not enough to have an accurate result for many of the others.
For syphilis, you should test 6 weeks after the exposure, and if you get a negative result, you should repeat it 3 months after the exposure.
For herpes, you should test 3 months after the exposure.
All the best.