Si no trabajas bien los floats añadir dos contenedores mas no te va a servir de nada.
El problema que estas tienendo es por la falta de un clear. Típicamente lo que se hace es agregar un div vacio (el que por defecto ocupara toda la línea) con la propiedad clear:both; En tu caso sería entremedio de los contendores dos y tres.
en el html seria:
Código:
<div id="page">
<div id="contenedor1">
</div>
<div id="contenedor2">
</div>
<div class="clear"></div>
<div id="contenedor3">
</div>
<div id = "contenedor4">
</div>
</div>
y a tu css original le agregas: