Mit deinen Aussagen hast du recht aber die shadow_modelview Matrix ist für jedes Objekt (mit unterschiedlicher Model-Matrix) verschieden, du verwendest aber die gleiche ModelView Matrix beim ShadowMap-Lookup für alle Objekte.
Nach dem Erstellen der ShadowMap mit der Methode renderModelsQuick() holst du dir die ModelView-Matrix. Diese enhält entweder nur den View-Anteil (wenn du deine Matrix auf dem Matrix-Stack mit Push und Pop gesichert hast) oder den View-Anteil mit der Model Matrix des letzten gezeichneten Objekts.
Die Matrix gl_TextureMatrix[1] ist bei dir für jedes deiner Objekte gleich und verändert sich nicht mit der "Model-Matrix" der Objekte.
Schau dir vielleicht noch einmal die Erklärung in diesem Post an.
Hoff du findest dich zurecht, diese Matrizen sind manchmal etwas verwirrend