Well, I ride lazy old school horses who are used to judging the rider and then doing as little as possible. So my instructors have taught me how to get the horse's attention and tell him, "You are working today, you are listening to me!" as soon as I get on. I don't know how much of this would apply to your horse, but there might be something here to help! They can get bored, even if it doesn't seem like you're doing the same thing over and over. The moment I start on something that isn't total beginner stuff - the minute I do a figure-eight, or he sees a pole, or in my last lesson, we tried leg yielding - the horse is suddenly much more forward and engaged.
I always do lots of transition work at the start of my lesson, before moving on to what else I'm doing that day. Transitions force the horse to pay attention to you as they can't predict what's coming next.
I also have to be very clear about making him listen to my aids, because with a total beginner on his back he can get away with ignoring them, but I have to say, "That's not me, I am making you pay attention!" First I use a squeeze, and if I don't get a big clear response, I immediately kick. If I don't get a good enough response from that, I immediately use my crop or whip, combined with my leg. If riding with a short crop, I turn it round in my hand so I can give a good hard whack as I'm a weakling, but more often I ride with a schooling whip as that's long enough to let me keep my hand on the reins. Dressage whips aren't quite long enough for me to do that xD
He usually picks up on what I want from him within one or two uses of the crop, but if he's in a lazy mood my instructor keeps me doing transitions, circles, changing the rein, to show that he can't escape this stuff by being lazy. And then he behaves and is wonderful and makes me feel like a good rider :)
It may be something to do with his feed or the weather, but try doing lots of things to keep his attention on you so that he's engaged, willing and forward.
If you believe everything you read, better not read.