If commercial stone and granite cleaners or hard water and mineral removers are not removing the stains, purchase muriatic acid. This is a weak form of hydrochloric acid and can be applied to the stain. Since muriatic acid is toxic, be sure to wear protective gloves and a protective mask so that you do not inhale the fumes. Wash your granite countertop thoroughly before you apply the muriatic acid, as it may react erratically if it comes into contact with other household cleaners.
Blot the acid onto the stain with a rag. Leave it for 20 seconds and quickly remove it, using plenty of water to flush any traces away. All traces of the hard water stains should have been flushed away as well.