Как добавить отдельные классы для каждого объекта в цикле while?
Конечно, не присваиваются.  $classes[$i] для $i > 4  у вас не определены. Ессно, что класс будет пустым.

Не думали пойти другим путем, без заморотов с присвоением класса каждому посту? Например, используя псевдокласс :nth-child и через него реализовать особенности верстки. Тогда вывод постов можете делать без всякого гимора, обычным порядком.
Зачем такие сложности?

snippet