the problem is not him solely being nice and heroic. I always have loved strong heroic nice characters like goku, naruto, all might, kakashi, ect. But these characters arent made strong just because they are nice...they put in the work and go through struggles and tough situations, the author isnt fixated on making these characters look cool every single time. Shanks on the other hand is only strong BECAUSE he is nice. There is no reason, its just a depiction of what oda wishes he was like in real life. And his fighting style also is extremely generic, this is why fans were hoping he would have some other kind of fighting style. All these shounen series have these strong nice guy type characters but shanks is the worst written of the lot.
With that being said, this is a childrens series at the end of the day though, and being nice and strong is all you need to make a character thats likeable for children, they dont really care about depth, so he will remain as one of the most popular characters regardless