If you mose over the button to talk there is a pop up explaining why. Most ppl miss it cause the button is grayed if you can't talk/hire the npc.
It would have been better if the npc would tell you this in dialogue. or maybe exchange other resources for their services. But I guess there was no time to do it.