There are a few things that may help some. I have a 8 week old Lab, our 14'th little puppy since 1991. Got her a week ago, and no accidents in her crate yet, better than usual. We have never had a major problem like that. You may still need the 3 AM relief for another few weeks. You may want to look at moving the last feeding up a little earlier if you can. We tend to feed 6 AM, noon, and 6 PM. When you make that last trip out, make sure the puppy runs around enough to stimulate its body to have a bowel movement. It also helps tire the puppy, calling for more sleep. As I will explain more below, a rack in the bottom of the crate helps, although it is more effective with urine than stools.
Part of the problem may be that before you got him, he was confined in his own filth, and his mother was not able to teach him not to eliminate in the den. The puppies I get stay with their mothers until 6 weeks old, and they are given space for the puppies to eliminate, and it is promptly cleaned up. Still, it isn't hopeless, just a little more difficult. I wouldn't worry too much about the night trips being habit forming. He will mature and develop a bigger bladder and bowel. He will naturally sleep through the night.
I think some puppies may do it deliberately to protest being crated. The solution is to not give in. Instead, start obedience training. Done right, that will teach him you are top dog and have the right to choose where he sleeps. You can learn to play the role of top dog by reading some books. A good obedience class or book is about you being top dog, not about rewarding standard commands with a treat. Start at
http://www.dogsbestfriend.com/ He is far too young to go to a class around other dogs. Besides, he has a very short attention span. Limit the training to only a few repetitions of a command. A few minutes here and there, and you will have a well trained dog before most people even start.
Likely you have seen other posts of my housebreaking, but it is easy enough to paste in in one more time.
Much of housebreaking is not training the puppy, but making it easier for your
Puppy, you, and your carpet while its body to catches up to its instincts. At
Around 8 weeks when the puppy goes to its new home, the time from when it
Realizes it has to go, and when it can't wait any longer is a matter of
Seconds. Only time will fix that. You can hardly be expected to be attentive
Enough to avoid all accidents There is no sense punishing the puppy for your
Inattention. It is not fair to punish you either, but you still have to clean
It up if you didn't have the puppy outside in time.
Housebreaking starts before you get home with the new puppy. If you don't have
A crate, buy one. I prefer the more enclosed, den like plastic ones. Skip the
Bedding. At first it gets wet, and later it can be chewed into choking
Hazards. A wire rack in the bottom will help keep the puppy up out of
Accidents at first. They are available with the crates, but a piece of closely
Spaced wire closet shelving from a home supply place is cheaper. If you
Already have a metal crate, covering it may help. Just make sure you use
Something the puppy can't pull in and chew. Dogs that start in crates as
Little puppies, accept them very well. Never leave an unattended puppy loose
In the house. If nobody can watch it, put it in the crate. I suggest letting
The dog have its crate all its life.
Choose a command and spot you want it to use. The less accessible to strays,
The less chance of serious disease. If it is a female, choosing a
Non grassy spot will avoid brown spots later. When you bring it home, take it
To the spot and give it the command in a firm, but friendly voice. Keep
Repeating the command and let the puppy sniff around. If it does anything,
Praise it. Really let it know what a good dog it is and how much you love it,
And maybe a treat. Note, being out there not only means you can praise it,
But it also keeps it from being snatched by a hawk. If it doesn't go, take it
Inside and give it a drink and any meals scheduled. A young puppy will need to
Go out immediately afterward. Go to the spot and follow the above routine.
Praising it if it goes is extremely important. If it doesn't go, take it back
Inside and put it in its crate and try again soon. Do not let it loose in the
House until it does go.
At first it is your responsibility to know and take the puppy out when it
Needs to go. It needs to go out the first thing in the morning, after eating,
Drinking, and sleeping. If it quits playing, and starts running around
Sniffing, it is looking for a place to go. Take it out quickly. You will just
Have to be what I call puppy broke until it is a little older.
By the time most dogs are about 3 months old, they have figured out that if
They go to the door and stand, you will let them out. The praise slowly shifts
To going to the door. Some people hang a bell there for the dog to paw. If
Your dog doesn't figure this out, try praising it and putting it out if it
Even gets near the door. A stern "Bad dog!" is all the punishment that is
Effective, and only when you catch it in the act and are sure you didn't miss
It going to the door. Clean up accidents promptly. I mostly keep the little
Puppies out of the carpeted rooms. Still I need the can of carpet foam
Sometimes. First blot up all the urine you can with a dry towel. Keep moving
It and stepping on it until a fresh area stays dry. A couple big putty knives
Work well on bowel movements. Just slide one under it while holding it with
The other. This gets it up with a minimum of pushing it down into the carpet.
This works with even relatively soft ones, vomit, dirt from over turned house
Plants, or anything else from solids to thick liquids. Finish up with a good
Shot of carpet foam. Note, do not let the puppy lick up the carpet foam.
Once the dog is reliably housebroken, your carpet may need a good steam cleaning.
Many people strongly strongly push cleaning up all evidence of past accidents. I am slower to suggest that. Dogs will return to the same spot if they can find it. When you see one sniffing the spot, that is your clue to run it out.