Steam needs a lot of 32 bit libraries from your system.
If any of these are missing, the Steam executable will crash.
On openSUSE you can check what package provides a specific library with the command
zypper wp libpng12.so.0.
On Ubuntu there is no such an easy way, but this site explains the process above quite well.
The full list required for starting Steam:
If you want to find out quickly what is missing, run the following command:
strace -E LD_LIBRARY_PATH=/home/USERNAME/Steam/ubuntu12_32/ -e trace=open /home/USERNAME/Steam/ubuntu12_32/steam (replace USERNAME twice with your account name on your Linux)
It will give you an output something like this in one of the last lines:
open("/home/user/Steam/ubuntu12_32/libspeex.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
If there is no line after which doesn't mention ENOENT, you will have to search which package provides the shared library (libspeex.so.1 in this case) according to the tutorial above.