K.S.
First of all do not poo-poo the existence of the monsters. They are very real to him. My son has seen a LOT of monsters in his room and the best thing we have done is to go along with his reality and create "Monster go away dust" It is not real dust, just pretend, but I fill his pockets and my pockets and then we go all around his room and he points out the monsters and we throw the dust at them and watch them run away. Then we tuck him in nice and snug with his stuffed animals as the guards.
Occasionally my DS has a night where he really feels the need to sleep in our room. Generally we will let him fall asleep there and then I carry him to his room when I come up to bed. I know it is frustrating when he does not sleep through the night but making him feel secure and safe will be the quickest way to resolve it. Let him sleep on the floor in your room once in awhile (maybe he could pick one day each week). Kids this age go through periods of regression where their behavior seems to slide back to a younger age. It is because they are growing up so fast and sometimes the world seems a bit too big and scary, they need extra comfort and reassurance.
Also, how verbal is he? Is he having bad dreams that are waking him in the middle of the night? Can he talk about them. When kids start becoming aware of their dreams but don't understand they are not real life, they can get a bit freaked.