That sounds so frustrating!
I would try switching to a different cleaner because maybe the cleaner you're using isn't really getting rid of the scent of his pee. This may be making the problem worse, especially if he's been doing it for awhile. Try vinegar, baking soda, and lemon juice. If you do this on carpet, test it first because sometimes it can bleach. Soak up what you can with paper towels. Then sprinkle a little baking soda over the top and let it sit for a minute. Then spray a little plain white vinegar that has a little lemon juice in it on the baking soda. It's going to fizz a little. After a minute, go back and dab it all up and maybe even vacuum over it. Hopefully this will help get rid of his pee smell better.
I also agree with treating him like a puppy. Try to not let him out of your sight. If you crate him, this might mean he's crated a little more than usual for the next few weeks. This might just be realistic as you can't watch a dog 24/7. If you don't crate him, but you can't watch him while you're making dinner or something else, maybe put a gate up and keep him in a room without carpet (but with his bed to lay on). Anyways, if you keep a closer watch, then you can take him outside immediately, without saying anything, when you catch him starting to go potty.
Stay outside with him whenever you put him outside to go potty so you can make a huge deal out of it when he goes potty outside- verbal praise, petting, an excellent treat like real chicken, cheese, beef, etc.- whatever you think he will love. Use more than one though to really make it seem like a big deal. Doing this is positive reinforcement- you are encouraging him to do the desired behavior (potty outside) by providing something positive when he does the desired behavior. This is the most important thing you can do to help him understand he should potty outside. Doing this consistently will get the behavior to change quickly. Again, be sure to provide him with lots of good things every single time he goes potty outside (whether #1 or #2). Take him outside every couple hours initially so you create more opportunities to reward him. The more he gets the positive reinforcement, the quicker his behavior will probably change. Just think about how much easier it is to do this every couple hours than it is to clean up yucky pee. Good luck! Hope this helped!