Why can we always take the zero section of a vector bundle?
In your definition you are missing the condition that the transition maps for a vector bundle are supposed to be linear fiberwise. Once you assume that, the problem you're facing in gluing will go away.
If you had a canonical zero element in each fiber, you would see the section right? So but that is already true, since you usually require in the definition that your fibers admit a vector space structure and you also require that the local trivializations are isomorphisms i.e. also preserve zero. That gives you a continous choice of zeros everywhere.
I think it's more straightforward than you're currently thinking. Every fiber $F_b$ has the structure of a vector space, and therefore has a zero element $0_b$. Sending an element $b$ to the zero vector $0_b$ defines the (continuous) zero section you're after.