There is some repellent spray you can get to deter behaviour such as this (and is there no way you can block upstairs off in the meantime if that's his favourite place, e.g. a stair gate?). Obviously, from the way you talk about the situation, you know that punishment will make matters worse. Some dogs are just a bit 'thick', if that's the right word and it takes ages to sink in.
Is there anything in the garden that might scare him (noises, strange cats, something flapping)?
It helps if you know when he will do it too. Puppies often need to 'go' straight after waking or eating, so if you can always encourage him outside at those times and keep him there (playing or whatever) until he's done something, then the praise, that should help.
Very best of luck Fairie. It is frustrating when they take time to pick this up, but he will in the end.
Just one thing, he's not left alone in the house during the day whilst everyone is at work/school, is he?