I am thinking of creating the gap first and then creating a separate object for the round blue plastic like hole or ring. But I can't seem to use a simple Boolean because when I add a subsurface modifier, the mesh looks all messed up. I tried to loop cut it but only got so far as cutting the circle out but then I have no idea how to fill the faces, and the loop cut doesn't seem to be aligned with the other side where I cut it out of the faces. If I try to join it creates weird edges on the sides. I also tried alt + F but that seemed not to work to. Full picture bottle here https://ibb.co/6JGSRCf
You need to use all the modelling functions to create the geometry. In order to use them, you first need to learn them. This might take more effort and dedication than you expect, so being prepared for dedicating some time to it might be a good idea.
Going through these menus(in edit mode) and learning what each function does would help a lot with this kind of tasks:
In this particular case functions like "Fill", "Extrude", "Bridge Edge Loops", "Loop Cut and Slide" and "New Edge/Face from Vertices" are very useful.
You might also want to have a look at the "F2" add-on that can be turned on in the preferences(F4->P) by searching for it by name ("F2"):
It is a pretty good tool for modelling tasks like the one in question.
Unfortunately, just knowing the functions might not be enough and practice is needed as well, but be assured that this struggle indeed does go away with practice and it gets a lot easier to know what to do in these situations with time.
I would suggest you use less geometry - just as much as you need to hold the form, because the less elements you have the less you need to work with:
These loops marked red are absolutely useless in this situation and they will just get in the way, when you want to round the edges with bevel operation. You do not need a lot of geometry for forms like the one you are modelling, because you can use subdivision surface modifier to smooth the forms later(or while modelling).