I see what's wrong with the script now, you should use AreaSecretBook_1 on SecretBook_1, because right now, you've used AreaSecretBook_2 on SecretBook_1.
Let me explain this further;
for(int i=1;i<=3;i++) AddEntityCollideCallback("SecretBook_"+i, "AreaSecretBook_"+i, "CollideSecretBook", false, 0);
for(int i=1;i<=3;i++) <- this means that they'll be three script areas/books. i.e;
Spoiler below!
AddEntityCollideCallback("SecretBook_1", "AreaSecretBook_1", "CollideSecretBook", false, 0);
AddEntityCollideCallback("SecretBook_2", "AreaSecretBook_2", "CollideSecretBook", false, 0);
AddEntityCollideCallback("SecretBook_3", "AreaSecretBook_3", "CollideSecretBook", false, 0);
But since SecretBook_1 doesn't collide with AreaSecretBook_1, it buggs. So if you want to fix it, rename the areas so they match the books.
Also, if you want it too look even better, remember to use the mansion_extension wall over the regular mansion_02.