The situation you describe happens all the time in many different contexts. It's not that unique as you might think.
I feel really bad for doing this, that I just don't find all the bugs at the same time.
There is no concept of "finding all the bugs" in testing. You only find all the bugs you are able to find and notice. Sometimes you notice different things at different times, that's how humans work. Nothing to feel bad about.
Generally speaking, I find it better if you can find more problems at one time and share that feedback with developers at one time. Although, I'd not downplay the importance of your particular context - perhaps devs at your place find this actually worse. Go ask them if in doubt. There's nothing better than a discussion about how they would like to work with you.
If they actually tell you they'd like to have more bugs reported at one time, you can train yourself to do that. I think it's mostly a habit of how you look for problems and report them. If you find a bug, take a note and continue looking for more. At the end of your test session, you can report all these problems you found.