First of all, there is absolutely no shame in getting significant comments on a change or even in abandoning and redoing it entirely. It's too bad that your lead has let the idea that this is shameful fester. That is the point of code reviews. In fact I think the answer to your question of how to improve is exactly what you're doing: get lots of feedback on your code, really pay attention to it (instead of feeling defensive and ashamed, try to really understand why they are making the comment, think through what problems that are foreseeing), and try really hard to proactively take those comments into account for your next change. After that, the next best thing to do is to go read other peoples' changes. See what kinds of things they're doing and what kind of comments they're getting.
You sound to me like every early career employee experiencing imposter syndrome. That feeling might not ever really go away, but you're probably doing much better than you think.