You can easily achieve it by using the Python standard library's textwrap module. I've written this article about text alignement in BGE some time ago, you may find it useful (it's in brazilian portuguese, you may try to use Google Translate on it). Here I will explain about left alignement, but in the article I explain about center and right alignement as well. Example file with all the modes provided below.
Left aligned text
With this simple setup:

The following code:
import bge
import textwrap
def main(cont):
# Objects
own = cont.owner
# Sensors
sensor = cont.sensors[0]
# Properties
text = 'The Blender Game Engine is a component of Blender, a free and open-source 3D production suite, used for making real-time interactive content. The game engine was written from scratch in C++ as a mostly independent component, and includes support for features such as Python scripting and OpenAL 3D sound.'
#### INITIALIZE ####
if sensor.positive:
# Max number line characters before line breaks
line_size = 35
# Left alignement
own.text = textwrap.fill(text, line_size)
It results in:

Example file
