I had the same thing happening to me. Here is what I found. A freezer is designed to freeze. When the compressor switches on the coils in the walls chill to below freezing. When your temp control reaches its Target it turns off the freezer. At this point the walls of the freezer are still colder then the set point and continue to chill the inside of the freezer.
This is basically the fundamental problem with cold side temperature control.
I think that anyone with any degree of temp control success will agree that it is best to monitor the temperature of the wort, rather than to just leave the probe dangling in the air. Even attaching/submerging the probe in a jug of water is a distant second to monitoring the wort itself. After all, we are fermenting the wort, not the air (or jug of water). Using a thermowell vs insulating and taping the probe against the side of the carboy is up to you - many tests say the readings will be virtually the same. However, the first time the taped probe falls off the carboy in the middle of fermentation, your mind will be made up for you about which method is safer.
So back to the problem with cold side temp control...
Let's establish some constants. I think we can agree that an actively fermenting carboy will generate some degree of heat (I have heard anywhere from 5-10F above ambient). Lets also agree that you have taken the earlier advice to heart and you have the probe measuring the temperature of the wort itself (if you are not measuring the wort itself, then IMO, you eliminate yourself from the conversation because you are basically flying blind on what is actually happening inside your carboy). Now, you want to ferment an ale at 67 degrees. We can use Bobby's suggestion of 2f diff, because I think that is pretty common advice. You will set it to cut-in (cool) when the temp probe reads 67, and cut off when it reads 65. (or some variation of that - 68/66 for example). That sounds great, but if it really worked right, you wouldn't have all of these threads about the probe reading a temp below the range the controller is set for.
As the post I quoted above notes, when your probe reads 67, and your temp controller tells the freezer to kick on, it begins to rapidly cool the air inside the freezer, as well as the freezer itself. It is not designed to cool the air to 65, it is designed to cool the air to freezer temperatures. There is going to be a huge discrepency between the ambient temperature and the wort temperature, yet I am sure it will take some time for ambient air to bring an actively fermenting wort (which has thermal properties of its own) down by 2 degrees F. All that time that the freezer is running, the air is getting colder and colder inside the freezer. At some point, the probe will read 65 F, and the freezer will kick off. The problem is that the freezer will now do as designed, and keep the contents cold. Again, ambient is not 65 (as the wort is-for the time being) because ambient was trying to get down to freezer temps. That ice cold ambient air will continue to cool the wort long after the freezer turns off -> and that is why you are getting probe readings below your Johnson Controller's set points. Eventually, the air will warm inside the idle freezer, and the fermenting wort will (hopefully) heat itself back up to 67 again, but once that happens, the cycle just repeats itself. Yo-yo temperatures are not an ideal scenario, especially when you are using yeast that tends to flocculate and fall out of solution when exposed to cold temperatures.
My solution calls for a steady (~10-15F below fermentation temp) ambient temperature with a temp controller set-up to heat a fermwrap, which naturally, is attached to the carboy. That steady temp can be a cold basement, spare bathroom, a fridge, or even a freezer with a cheap analog control. Its been rightly pointed out that my method seems inefficient because it utilizes competing temperatures, but the ultimate result is being able to dial in an exact wort temperature throughtout fermentation, and keep it there with absolutely zero baby-sitting.
To briefly explain, I choose to put my carboy into a dorm fridge. The fridge is set to a low cooling power (I've measured the ambient temp with a kitchen probe and it stays at ~46F). Again, the fridge is constantly on (running as normal). The Johnson Controller is set with a 1 degree differential, jumpers modified to heat, and hooked up to a fermwrap. The probe is placed in a carboy cap thermowell, which is how I choose to measure wort temperature (see probe falls off side of carboy - ruins beer). I use a temp setting of 1 degree above where I want the wort to be (if I am fermenting at 67, I set the controller to 68F). ASD is a non-issue, because there is no compressor involved - the fermwrap is more like a glorified heating blanket, with virtually no moving parts.
The heater is just there as an assist to the actively fermenting carboy. The differential between ambient and wort temps (10-20 degrees F) is enough to pull in the reigns from the temps running away on the high side, but the fermwrap ensures the temps do not fall below my set point as activity slows. In my example, the heater will kick on when ambient bring the wort down to 66F - and because the fermwrap is a direct heat source, unlike ambient air, I have never seen it fall below the 1 degree differential set point. The cold side fermentation control method lacks that factor - once you fire your cooling source, there is no opposing force to assist the wort temperature from continuing to fall. My method flips that issue, but I have the opposing outside source (a constant state of cool ambient air) to keep the temperature of the wort from going through the ceiling.
I could certainly improve the efficiency of my method with a dual stage controller that could keep the fridge temps a little warmer, but that does introduce a couple problems. One, it is more moving parts to damage (see blown compressor), and I start to introduce the same control problems that everyone is already having with their fridges/freezers. Secondly, and more importantly, I lose a working fridge. Right now, it is running as designed by the factory, and I use it to store hop pellets in the freezer and yeast vials in the door - I lose those abilities if the fridge is kept warmer.
Again, the energy efficiency of my set up is not the best, but the control is incredible - to me, that is the important part. Below is a pic with the door open. Notice how there is ice in the freezer, but the temp controller is reading a wort temp of 61F (it was a Cal Common). I currently have a Belgian Pale Ale at the tail end of fermentation with a set temp of 69F and a similiar ice build-up in the working freezer.
So long story short, consider some form of two stage control - it will solve all of your current issues.
Joe