The language is required to be relational and contains equality and two binary predicates $R$ and $S$.
Having expressed that $R$ and $S$ are equivalence relations, each with more than one equivalence class, and partitioning our universe into rows and columns so that the intersection of each row and column consists of exactly one element, how can I express that all $R$-equivalence classes (respectively for $S$) have the same size, and this size is the same for both equivalence relations?
You've already done part of this. Let $\rho$ be the number of $R$-classes and let $\sigma$ be the number of $S$-classes. If every $S$-class intersects every $R$-class exactly once, then every $S$-class has size $\rho$. Similarly, every $R$-class has size $\sigma$.
So all the $R$-classes have the same size, and all the $S$-classes have the same size. But this does not mean that $\rho=\sigma$. Indeed, consider an $a\times b$ array with $a\not=b$: each column intersects each row exactly once and vice versa. In fact, the additional property you want cannot be expressed in a first-order way at all. This can be seen by a compactness/Lowenheim-Skolem argument: think about the behavior of an "$\infty$-by-$\infty$-array."
(That said, if you can get away with expanding your language a bit, this can be escaped: consider adding a unary predicate symbol $P$ and a sentence saying that $P$ intersects each row exactly once and each column exactly once.)