The question arises from the fact the voltage provided across battery terminals is constant no matter how much current is drawn (for non-ideal batteries the current draw is limited but still can be varied over a range).
EDIT: Voltage is basically the potential difference or the energy required to displace a charge against the electric field. Therefore, voltage causes charges to move from one terminal of the battery to other. Now if the voltage is constant then you must be able to move only a constant number of charges per second (current). What follows from this is that if I have a higher voltage I should be able to move higher number of charges.
Now, if voltage causes current to flow then a 9 V battery should always supply a fixed amount of current but this is not true!
So, does voltage actually have a direct influence over the current? If yes, How would you explain the case of a battery which can provided a range of currents for a constant voltage? If no, what would a better way to think about voltage apart from the fallacious "voltage causes current to flow" statement.
(Sidenote: I feel like the statement "voltage causes current to flow" is an over generalisation of the concept. This over generalisation causes an information gap while explaining the phenomenon. Would you agree?)