Several things can affect turbo boost clock speeds, but most likely it is heat, or the type of load on the system.
Laptops tend to get bumped around a bit over time, and it is entirely possible that your thermal paste is simply not making quite as good of a connection as it use to, causing a few extra degrees of heat, and with it a lower maximum turbo.
The other major thing is the type of load on the system. On my rig I use an i7 2600 (non-K), so I use motherboard settings to inflate my turbo OC to 4.2GHz (using BLCK settings I have even pushed it up to 4.5GHz, but my GPU didn't like that very much). At any rate, while my CPU CAN go up to 4.2GHz, it is nither expected, or normal for it to do so. When playing games and there are brief loads on the CPU then it can hit 4.2GHz without issue, but when doing a sustained load, or heavy multi-tasking, then it typically sits at 3.8-4.0GHz. Many loads are also so small that they do not even trigger turbo boost, and so the system continues to idle at 1.6GHz, or bump up into the mid to high 2GHz spectrum not even hitting stock settings.
All that to say that turbo boosting is never guaranteed, and is a finicky beast on the best of days. Unless using a modded BIOS I highly dobut that your system ever hit above it's 3.1GHz limiter, because it is hard enough to turbo OC a desktop chip with a BIOS designed to change the turbo boost limits. In all likelihood your system is probably attempting to do something else in the background (dropbox is a common issue) which is adding just enough load to prevent the system from achieving a higher turbo. So just make sure that you have your background processes under control, clean up any malware, and be sure to close any programs that may take clock time away from your gaming. Outside of that there is not a lot you can do.