I'll probably be berated for this but here goes...
For context, I am 28 years old, and am grateful to have a job that I enjoy and I own my house. I had my last GCSE exam on a Friday, and the following Monday I started in an admin position (basic computer work) at a major bank, 5 days a week for the 6 weeks that I had off before I went on to start my A-Levels. I continued with this admin job one day a week during the two years of my A-Levels, as well as working in a department store (back of house, finance office) on weekends.
Whilst at university, I worked 30 hours a week (Admin) whilst studying as a full time student. I did not, at any point, lounge in my pyjamas, or be idle, as any time that I wasn't in a uni lecture, I was either studying or working. I was bloody tired at the end of my degree, but it meant that I walked out of university and straight into a well paid job of my choice (because I had accumulated 6 years of relevant work experience by then).
Society is constantly telling us that the millennial generation (and those after us) have got it tough, that there are no jobs (or well paid ones), that there is no affordable housing etc. Actually, it's all within reach, but Gen X/Y parents who have failed to instill work ethic in their children from an early age, and have enabled the type of behaviour that OP's son is demonstrating, are the reason that their offspring do not prosper later in life.