> Now, if voltage causes current to flow then a 9V battery should always supply a fixed amount of current but this is not true!

Your reasoning is sound, and as you correctly point out the conclusion is false. Therefore you know that the premise must be false. 

In fact, voltage does not generally cause current to flow. In a capacitor you can have voltage with no current and in an inductor you can have current with no voltage. Active circuit elements similarly do not have a “voltage causes current” relationship. 

Some circuit elements do have a “voltage causes current” relationship, most notably resistors. However, this relationship is not a general rule of nature, it is a defining characteristic of specific materials and does not apply to other materials.

>   If no, what would a better way to think about voltage apart from the fallacious "voltage causes current to flow" statement.

A better way to think is to recognize that every circuit element enforces its own relationship between voltage and current. There isn’t an easy “sound bite” summary. You have to learn every different relationship and recognize that the relationship is fundamentally different for each type of circuit element.