1.- deja de usar float para alinear contenidos
2.- utiliza flex, este tiene opciones para posicionar elementos asi como para permitir o impedir el salto de linea
También considera que al ser por CSS tienes que ser muy preciso con el contenido o estar ajustando constantemente.
Mi recomendacion usa algo de javascript
https://masonry.desandro.com/