the blood behind being a hero

It is a popular belief in Japan that one's blood type affects their personality, temperament, and compatibility with others. It's considered to be as accurate as astrology, if not more accurate. Seeing as how Square Enix is a Japanese company it is very likely that they considered various blood types before deciding on which type Zack should have. They chose to make Zack's blood type O, which would mean that by definition he's agreeable, sociable, optimistic, vain and careless.

 

I would agree with this labeling system, because by all means Zack is incredibly sociable and agreeable. He is always trying to help out others and will try to make friends with all sorts of different people both inside and outside of Shinra. The DMW system in Crisis Core really, the proof of this, because it is built on Zack's relationships with others. Without them the system breaks down. Zack is also undeniably optimistic, even to the end. While Zack and Cloud were on the run from Shinra Zack never gave up on Cloud even though he didn't show any sign of consciousness or understanding when Zack spoke to him or moved him.

 

On the other side of the coin, Zack is absolutely careless and maybe even a bit vain. In the beginning of Crisis Core, Zack is constantly being berated by Angeal, why? Clearly it's because he's careless. That's why Angeal is always forced to use his buster sword, because despite Zack's immense skill when it comes down to it he's careless with both his actions and his words. While Zack means well, when he tells Angeal he's "an angel" and not a "monster" it just seems to make matters worse. As for being vain, Zack isn't afraid to make jokes about how he's the best and how he'll be good at anything he does. Whether or not Zack really believes that is another matter entirely.