Batteries aren’t meant to last forever. Like all things, they also have a life span and they’ll go bad when the time comes. If your battery has voltage but no amps, it’s a sign that it’s reaching the end of its intended use. The battery dies due to sulfation of the plates inside or the acid or both.
However, current more than likely won't (depending upon the age/use of the battery). The reason why is because the voltage potential difference - the "excess holes on the positive end" and the "excess electrons on the negative end" - is relative to a given battery.
In your battery example, there is no return current path so no current will flow. There is obviously a more deep physics reason for why this works but as the question asked for a simple answer I'll skip the math, google Maxwell's Equations and how they are used in the derivation of Kirchhoff's voltage law.
If the battery is not connected to anything, the chemical force is pulling on the ions, trying to draw them across the electrolyte to complete the reaction, but this is balanced by the electrostatic force-- the voltage between the electrodes.
The reason why is because the voltage potential difference - the "excess holes on the positive end" and the "excess electrons on the negative end" - is relative to a given battery. There are excess electrons/holes on the ends of a given battery with respect to each other.
Yes, in most electric circuits the current is moving electrons. They have a negative charge and so move in the opposite direction of the current arrow (which points in the direction a positive charge would move). But for example in the electrolyte in a battery the current consists of moving ions - both positive and negative.