Up until recently, Frank was in places where it would be difficult to obtain a shirt. He started out at the Ajira crash site, but almost immediately left with Sun, back to the main Island, where he remained for a brief time at the abandoned Barracks. He then left the Barracks to return to the Hydra Island, but was kidnapped by Ilana and her group immediately after returning. He then had to march through the jungle, and since then, he was on the run until arriving at the beach camp in "Dr. Linus." The beach camp was the first place where he could get that chance.
Hurley, on the other hand, was at the DHARMA Initiative in the 70's, where he seemed to have acquired multiple shirts. So did the rest of the group. Presumably, they had a change of clothes in their backpacks so they could change out of their DHARMA jumpsuits later.
Plus, Frank's uniform looks cool.