Es que la multiplicación de matrices no es conmutativa. Dependiendo de si haces el translate antes o después, afectará de un modo o de otro. Si haces el translate a partir de la matriz identidad, te estás moviendo respecto al origen de coordenadas, y "cambias" el origen de coordenadas a la posición en la que te has movido, así que todas las siguientes transformaciones serán respecto de ese nuevo centro. Si haces un giro, lo que estás haciendo es girar los ejes, así que cualquier movimiento que hagas después se verá afectado.
La verdad, no se muy bien lo que pretendes hacer... Si no consigues hacer lo de los giros con esas 3 funciones, usa la de glRotatef32(angle,floattof32(x),floattof32(y),floattof32(z)) para decir tu mismo los ejes...