It actually works better to store a fully qualified reference in the currentPage variable rather than just the instance name. That's why you record the attachMovie to a variable. Notice I changed "page1" to page1.
Also, clips placed on the stage at author time are on a different range of numbers than clips placed at run time as far as levels go. The only reason your page movies can replace each other is to load to the same level as you are doing, bur rather than place page 1 at author time, trigger button1's onRelease method automatically.

replace your code with this and delete page one off the stage.
Code:
import mx.transitions.Tween;
import mx.transitions.easing.*;
//set currentPage to some arbitrary value
var currentPage = 0;
button1.onRelease = function() {
	if (currentPage != page1) {
		var fadeout:Tween = new Tween(currentPage, "_alpha", Strong.easeOut, 100, 0, 1, true);
		fadeout.onMotionFinished = function() {
			var page1:MovieClip = _root.attachMovie("page1", "page1", 10);
			page1._x = Stage.width/2;
			page1._y = Stage.height/2;
			page1._alpha = 0;
			var fadein:Tween = new Tween(page1, "_alpha", Strong.easeOut, 0, 100, 1, true);
			currentPage = page1;
		};
		
	}
};
button2.onRelease = function() {
	if (currentPage != page2) {
		var fadeout:Tween = new Tween(currentPage, "_alpha", Strong.easeOut, 100, 0, 1, true);
		fadeout.onMotionFinished = function() {
			var page2:MovieClip = _root.attachMovie("page2", "page2", 10);
			page2._x = Stage.width/2;
			page2._y = Stage.height/2;
			page2._alpha = 0;
			var fadein:Tween = new Tween(page2, "_alpha", Strong.easeOut, 0, 100, 1, true);
			currentPage = page2;
		};
		
	}
};
button3.onRelease = function() {
	if (currentPage != page3) {
		var fadeout:Tween = new Tween(currentPage, "_alpha", Strong.easeOut, 100, 0, 1, true);
		fadeout.onMotionFinished = function() {
			var page3:MovieClip = _root.attachMovie("page3", "page3", 10);
			page3._x = Stage.width/2;
			page3._y = Stage.height/2;
			page3._alpha = 0;
			var fadein:Tween = new Tween(page3, "_alpha", Strong.easeOut, 0, 100, 1, true);
			currentPage = page3;
		};
		
	}
};
//trigger button1's onRelease.
button1.onRelease();
P.S. If you look into for loops, you can write the code for all 3 buttons at once.