yeah heres the thing, you are using a variable that is local to your object, since the object is called twice within the same tick, with 2 tesr itll go twice as fast, becasue the rotation is increased twice per tick
to fix this you should use the system time, this way all tesr will render using the same value
//aka dont do
animation++;
model.rotate(animation, 0, 1, 0);
//but do
long time = System.currentTimeMillis() % 40000L;
model.rotate(time, 0, 1, 0);
btw both method describe a continous rotation around Y axis