So you have a zinc electrode and a copper electrode and a lemon. The lemon is not a reagent grade chemical, so let's say it's the citric acid in the lemon that provides the corrosive action.
The copper essentially just sits there; as you indicated, the low reactivity of copper in acid means it doesn't dissolve readily. On the other hand, the zinc is much more reactive, and as you suggested, should just react all by itself. If it did, it would make a terrible battery; it would have a very short shelf life because the zinc would dissolve without providing an exterior current. But zinc has a high hydrogen overvoltage; that is, hydrogen does not readily evolve from zinc. The reasons are complex, but you may imagine that hydrogen ions or atoms are adhered to the zinc surface in such a way that they do not easily combine to form molecules which can form bubbles and go away. So the hydrogen evolution reaction is stifled.
However, the copper surface is different, and does permit hydrogen ions to react with an electron to form an atom which can then find another atom to form a molecule, and then more, to form bubbles. Alas! Copper has no extra electrons to spare; after you take off a few, the copper becomes positively charged and repels hydrogen atoms.
But the zinc electrode has gained a few electrons from the few zinc atoms that have dissolved in the citric acid. Let's connect the zinc electrode to the copper electrode: electrons flow from the zinc to the copper where they attach to hydrogen ions. The copper provides a surface for hydrogen ions to grab an electron and eventually become a bubble. The zinc provides electrons by dissolving as ions and leaving the electrons behind. And the battery could be useful for a long time if you disconnect the wire, because the zinc stops dissolving.
If this is still not clear, imagine a "battery" with a copper electrode and a sodium electrode. When you put the sodium into the lemon, it will react immediately without needing the copper to distribute its electrons. This "battery" might last about 2 seconds and would not be very useful.
And, as it turns out, impure zinc may have inclusions of different materials that provide a cathode surface right in the midst of the anode, so the zinc could dissolve rather rapidly and make a poor anode. In the distant past, a tiny bit of mercury would be amalgamated onto the zinc, covering up the impurities. Mercury has an even higher hydrogen evolution overvoltage, so the zinc was protected. The electrochemical reaction then was the zinc dissolves in the mercury and travels to the mercury-solution interface before it ionizes and dissolves, but since the mercury layer was so thin, this was no problem. Eventually mercury was eliminated for potential human health reasons.