Sometimes... that is just the way it is. IF your child is napping fine on the couch... then perhaps, just let him.
Pad the flooring around him so that he can't get hurt.
Some kids just don't like the crib. But if he is sleeping fine at night in the crib, and goes down on his own, that is great!
I guess, with napping, he prefers something else. My daughter was the same way... as she got older, she did not like to nap in her bed....thus, I "let" her choose where she wanted to nap. This was a compromise I allowed...because it was this way that she would take a nap. Otherwise, she would not and it was a battle. This way, it was MUCH more peaceful, and she kept to her nap routine. To my happiness.
Let him be...if it's not harming him, and he's safe from falls... he'll probably get a better nap this way.
Children go through lots of different phases and preferences. It may change one day, or not. Each child is different. Sometimes... it is us, who try to force something on them, and it does not work. In this case, your son is in his way "telling" you what works for him... and this is how he naps the best. You are very lucky he even naps! Many don't or it is a battle. Main thing is to keep your sleep/nap routine for him which seems to be working! :)
My son is now 22 months old, and still take 2 naps a day, and sleeps fine at night, in his crib. But as he got older...what I did was pad the crib mattress with some fluffy blankets underneath the fitted sheet, to make it softer. ALSO, at this age, I gave my son a pillow to sleep with. AND he likes to have stuffed animals in the crib with him. (he is the type that LOVES stuffed animals to cuddle with). Of course, they are all kid safe stuffed animals without any buttons that can come off etc.
I wouldn't worry about it. Enjoy it while you can... at least he is napping still at his age. The couch is fine. I've seen many different ways and places that babies nap... some not so safe or healthy for the baby. Your son, on the couch and you there for him is fine, to me.
Take care,
~Susan