Nitrate and phosphate test kits can only test for excess nitrate and phosphate. If a nuisance algae problem exists, so do nitrates and phosphates, despite the 0ppm results you're getting. The algae is uptaking the compounds at the same rate they're being leached or introduced (in the same manner 1st stage beneficial bacteria uptakes ammonia in a fully cycled tank, 0ppm ammonia readings but of course ammonia is being produced all the time by fish, etc).
The live rock and sand may be leaching phosphate. If you do not have a deep sand bed, stir the sand as you're doing a water change to remove and micro-particulates which may be contributing to the problem. If you have a deep sand bed (3"+ in depth), do not do this.
Manually remove as much of the algae as you can. As algae is starved out and dies it will release the nutrients it had previously utilized, which will in turn fuel and sustain the remaining algae. By manually removing algae you're actually removing sequestered phosphate, nitrate and other nutrients.
While they can only effect the symptom (the algae) and not the cause (the phosphate and nitrate), clean up crew such as turbo snails and emerald crabs can be effective at tackling algae (they more or less perform the 'manual algae removal' ) for you. (not sure how compatible they are with the long-nose hawkfish, though).
If you do not have photosynthetic life forms in your tank, signficantly reduce your photo-period (4 hours or less down from the current 10 hours), and implement periodic 3 day black outs.
Is your GFO
being used in a reactor or media bags? If the latter, use a reactor for greater PO4