Yes, he may be holding it in because it hurts. I'm amazed that he's going 3 times/day. My grandson also had constipation issues and he sometimes went days without pooping. We considered that we'd had some success when he was able to go every day or two even tho it was still painful.
There can be more than one reason for constipation. How long and how consistently have you been on this routine? Are you giving him vegetables and fiber everyday as well as increasing his fluid intake every day and also giving him prunes and prune juice, oatmeal and flax seed meal everyday. If not include several different things every day. If it's been more than a few weeks call the doctor and see if it is time for further evaluation. He could have a physical problem in his digestive tract that is causing this even tho he has the right food combinations for a softer bm.
You didn't mention dairy products. If you haven't already eliminated them do so now. And I'd stop the soy. It's one of those foods that have a higher percentage than others to cause allergies.
I would also not let him strain for an hour. This is damaging his body. If he's not able to go in a few minutes help him to pass it or redirect his attention until the urge passes. Straining causes tears in his anus and eventually hemorrhoids. Those are painful even with a normal bowel movement.
Are you putting him on the toilet? I've not seen a one year old in diapers work so hard for so long time to have a bowel movement. If you're wanting him to use the toilet this is too early for that.
My younger brothers all had constipation issues. My mother lubricated her finger and helped them to pass the feces. Be sure to have a short fingernail. Use a glove if you want. You can also use a suppository.
In my experience a bit of milk of magnesia in prune juice brought on a partially liquid bowel movement within an hour or so. If you are doing that and it's not working then I'd be even more concerned about the possibility of an undiagnosed medial cause and would return to the pediatrician..