One other option for you to consider (which is what we use) is to align the hint icons right next to the field label. This has the advantage of more clearly linking the data being requested with additional details about that item.
download bmml source – Wireframes created with Balsamiq Mockups
In any case, each field gets a hint icon.
I would caution you to only use hints where they are absolutely necessary -- otherwise, they can become bad UX. Ask yourself if the hint is truly necessary to help the user complete the form. For example, a bad hint would be "enter your phone number in the form of XXX-XXX-XXXX." because a user shouldn't have to worry about formatting the data; we should do that on the back end. Also, if every user will need to know the information contained in the hint, then it shouldn't be a hint. Instead, this information should just be presented in-line.
Also, in some cases, you may want to be more explicit with your hints instead of just using a standard icon + pop-up. One such case is when you're asking for an unusual piece of data. In this case, you might do better to have a small link such as "Why do you need this?" (e.g. in the case of phone numbers) OR "How do I find this?" (e.g. in the case of activation keys). The resultant answer can still load in a pop-up, but you've given your user a lot more context then you ever could with a generic hint icon.