In all likelihood the option to turn the mission in will be in the dialogue instead of something like giving them the Drive.
Use “M” to check mission status. It will give you the location of your current objective expressed in overmap (“m”) coordinates. At the indicated set of coordinates will be something you have to interact with to complete the current objective.
I’m afraid I have no direct experience with a mission for hacking software; I’ve only ever seen one for medical data. In that one I had to get to an indicated hospital, and interact with a terminal to download the data onto a flash drive I was given. Then I had to return to the NPC’s location and there was a dialogue option asking if the mission was done yet. It seems that there should be a Dialogue asking how the mission is going as soon as you try to talk (“C”) with the NPC. Giving it to him wouldn’t work. The only way the game will mark it as accomplished is if you use the dialogue option. If that went away, then I’m not sure what you can do.
I’m not sure what could be causing your problem, but are you sure the flash drive you have is the exact one given to you by the NPC? That might be important, and drives with HackPRO do spawn sometimes, so you might have the wrong one somehow.