If you've tried all the books, songs, etc, I would completely back off. Stop reading the book every night, don't mention 'oooooh mummy's having a poo in the toilet', stop discussing it completely.
He might be picking up on your stress about it which will probably make him more anxious and more likely to withhold.
Sometimes when something gets built up into such a big deal it can make children reluctant to do whatever it is.
Put some nappies in the bathroom, let him know they are there for when he needs a poo. Just be matter of fact when he asks for one but keep/leave him in the bathroom to poo. No over the top praise, just 'good boy for letting me know you needed a poo'. Don't comment on it being in the nappy, don't mention the toilet at all.
Your aim is to take all the stress away that is associated with poo on the toilet. You may need to do this for months without discussing poo/toilet.
You may find he asks to use the toilet by himself. It doesn't really matter if he poos in nappies for now, he honestly won't be doing it forever. The last thing you want is chronic constipation from withholding which can damage the bowel and last years.