I often tell my daughter that it's her job as a parent to teach her kids how to be independent, thoughtful of others, and capable of looking after themselves when the time comes, but frequently hear 'it's just so much easier to do it myself'!! How are kids ever going to learn if we do everything for them?
I think the problem lays with the fact that right from when they're toddlers, kids are given everything on a plate these days. Little darlings only have to say 'I want', and they get! No need to work for it, or earn it, it's just given. I say this with hindsight, because I know I spoiled my own little darling, and didn't make her do enough when she was growing up, possibly one of the first generation to have more money than just enough to pay for essentials? So my advice to new parents would be, to go back to the ways of my parents generation, get kids to start doing the little chores from when they are 4, giving them a little pocket money each week, and then as they get older, more chores = more money. Then, make them contribute out of their own money towards the extras that they WANT rather than NEED, like their phones and wifi, that they enjoy so much. If they don't do the jobs, they don't get the money, if they don't have the money, they can't pay for their wifi! Maybe that would teach them that to get what you want in this life, you have to work for it.
My advice to OP, for what it's worth - make a list of the jobs he's expected to do, work out what you think they're worth, and pay him accordingly, (make sure that you give him enough to make a contribution to the wifi, phone, etc). Then, tell him that out of it, he has to pay for his extras, ie, if he has a hobby that he enjoys instead of you buying what he needs, he has to pay for it himself, and include in the list a contribution to his phone, and the wifi. If he can't pay, he doesn't get!