Why does the volume keep varying?

The speech output volume is set in Android Settings, TalkBack, Speech volume. So if you want your speech volume to be the same as everything else, Go to Android Settings, TalkBack and Speech Volume and set to match media.