Your son sounds exactly like my son was, he could totally walk he just wouldn't walk, he could crawl at the speed of light so why walk?
My son was 5 weeks early and I knew at about 15 to 16 months that he could walk but he wouldn't practice walking. He was a super fast crawler and that worked for him. We had all the walking toys too, and he would use them but he preferred crawling. Until the day he blistered the top of his foot. I felt so bad about his foot. It was horrible, I had him protective clothing covering his knees and feet at the water park where he could crawl around but the top of swim shoes weren't thick and he got a blister through them. It hurt to crawl the next day, so he stood up and walked instead (I was shocked, he walked away with no problem).
Don't let your kid get blisters (it was horrible) but maybe make it less easy to crawl, do you put blankets down? Maybe put his toys at eye level and help him walk to them? Also comfortable shoes really help, my son loved his crocs when he started walking.