Using a microcontroller to generate the square wave is pretty much a standard method for driving LCDs. Some microcontrollers have all the circuitry needed to drive your LCD integrated, including the generation of a higher voltage from battery. If you choose one of these, you're done (and can stop reading here).
Most microcontrollers have a (deep) sleep mode where the PWM unit continues to work, so that you really only spend the energy needed to drive the "step-up" stage. Most microcontrollers' PWM units also have the means to directly drive an H-bridge (namely, they can output a square wave and its inverse, with an adjustable dead time to avoid accidental shorts). That's really all you need. An H-bridge is 4 transistors, typically 2 N-channel and 2 P-channel MOSFETs, but can also be bought as IC (which solves the high-side switch problem).
As step-up, you would usually avoid having to deal with a +- 10 V dual supply – instead, just use a single 20 V supply, as your LCD filter has no notion of what "0V" is, that's physically just identical.
Since LCDs typically consume very little current, a typical way of creating such a higher voltage from a lower (say, 3.7 V) battery voltage is a charge pump. When you go to the websites of the larger chip manufacturers (TI, diodes, ST, NXP, Microchip…), you'll find some dedicated chips that implement such charge pumps in a regulated fashion.
You can also use a PWM unit (not necessarily the same – most microcontrollers have multiple of these) as the square wave input to a Cockcroft-Walton voltage multiplier to generate your 20V. That's probably a bit less efficient than using a dedicated IC for it.
In any case: A (BJT) 555 IC and a 741 Opamp are obsolete, power-hungry technology and probably are going to be the source of more problems than they solve.