The central defender's role as skipper was called into question after he was found guilty of racially abusing Anton Ferdinand, but the Blues hierarchy decided against taking the armband away from the 31-year-old.
Zola told the Evening Standard: "John certainly has made many mistakes in his career, like many others, but he has also done very good things.
"The problem sometimes is that it is easier to pick up on the wrong things than the right ones. I'm not saying this just because he is somebody I know and respect.
"I have no issue with him being captain — the way he conducts himself on the pitch, the bravery he shows, he is a leader. If the manager decides to keep him as captain, he can do that."
Terry will miss Sunday's match with Manchester United while he serves the second match of his four-game ban.