The first point to make is that the statement that the field inside a conductor is zero is true only when no current is flowing. When a current is flowing there is a field inside the conductor¹. The field in the conductor accelerates the conduction electrons, the electrons undergo inelastic collisions with the metal ions and slow down, then the field accelerates them again and this process repeats. The steady state current is the balance between the electrons being accelerated by the field and decelerated by the collisions to give a constant average speed.
The easiest way to understand what a battery does is to note that the conduction electrons in a metal behave remarkably like a gas. This is known as the free electron model. Then the battery increases the pressure of this gas at the anode and decreases the pressure at the cathode. The electrons flow due to this pressure gradient. The pressure is just the electrical potential and the pressure gradient is the electric field.
A battery does this because inside the battery a chemical reaction produces electrons at the anode and consumes electrons at the cathode. The pressure increases at the anode simply because extra electrons are being produced there, and likewise the pressure decreases at the cathode because electrons are being consumed there.
¹ assuming the conductor is not a superconductor. In a superconductor there really is no electric field even when a current is flowing.