Con float y clear no creo que se solucione.
Lo que es puramente CSS, deberías de usar
columnas CSS y no sé si con flexbox puede hacerse.
Pero ambas técnicas son más o menos nuevas y el soporte para navegadores (léase IE) puede que no sea el ideal.
La otra opción en CSS es hacer dos elementos, uno que contenga el contenido a la izquierda y otro que lo contenga a la derecha.
Y finalmente, la otra opción es usar algo del tipo
mansory.