Im no zoro fanboy, but he's certainly one of the more likeable straw hats and One Piece characters to me.
One reason I think why I like zoro and why I think a lot of other people like zoro is that he is a "show don't tell character", which is not very common in Shonen anime.
Zoro himself rarely brags, and is often times always putting his life one the line for his friends and their responsibilities and seek zero thanks, attention or favours in return, he does occasionally have scuffles with Nami because he finds her greedy, or occasionally Sanji who have bickered ever since they have first met, but those are really the only exceptions. All other instances are mostly comical skits like his interaction with Law on Zou.
Zoro's character actually reminds me a lot of Ben Beckman, and now that I think about a little bit of Katakuri. He's not the type of person who likes to stick his head into any mess like luffy, unless its by accident or absolutely necessary, but will nonetheless always stand true to his morals and never give in an inch, no matter what people tell him.
Wether it was disagreeing with Luffy and the others on Ussops return to the crew, or Zoro and Luffy's fight in Mock town because Luffy wrongfully accused Zoro of murder, Zoro is never afraid to stick to morals and let his opinions be heard, even if may offend others.
Zoro is kind, but he's not apologetic either. He saved Vivi's life from Mr 5 and her partner, but only after intense pressure. Only after learning Vivi was actually a princess, after Miss Monday's defeat, after begging from Ingaram, and blackmailing from Nami was Zoro finally compelled to give a hand and help.
Zoro is willing to die for his dream, but won't be afraid to abandon it if it means saving his friends' lives. But I guess that's a quality that all the straw hats share.
In my opinion: a well written shounen character doesn't have to display all 365 emotions and faces under the sun. Those kind of anime tropes are overdone. Characters like Naruto, Eren all show lots of emotion and feelings, but they soon end up solely relying on those two things for like the rest of their stories. Even worse is when they end up displaying and acting the ways they condemned in the first place. Then it just becomes hypocrisy, which no one likes.
Characters like Levi, Alucard, Lawliet, Trafalgar Law or Kenpachi are all mostly pretty consistent throughout their stories(well Kenpachi might sometimes be a bit crazy, been a long time since I read Bleach, Alucard is a vampire so his actions are self explanatory). They are badass when they need to be, normal when they aren't fighting or in an important story juncture, not attention seekers, but become absolute beasts when they fighting and in important story junctures. These characters know how to control their hype. The vibe and appearance they give off is not the cocky, go lucky, know it all, but the experienced, well informed, seasoned professional. Characters like these don't often lose as quickly or get one shotted as fast as Luffy vs Kaido because they can see when they are outmatched and are smart enough to avoid it, unless the situation is desperate and unavoidable, like Zoro vs Fujitora or Levi vs Beast Titan for example. And when they do go all out and give it their all, they make sure to not leave readers feel dissapointed and give a hell of a show.
Well that's my analysis of why Zoro is so popular anyway.