Well, I code from the time I wake until the time I lay to sleep.
I break for lunch and dinner, and sometimes I spend 2/3 hours studying, but most of the days is:
9-10:30: code code code
10:30-11: daily meeting (commonly the only meeting we do)
11-12: code code code
12-13: lunch
13-19: more coding
19-20: dinner
20-02: code until I feel tired and go to bed
So if I'm not counting wrong (I'm not that good at math sincerely), it is 14hs of coding (not straight, but almost), and it has been my routine since I had 10, with the only difference that now I don't have to go to school, so I have more time to code.
I code for a living, for fun and as a hobby, and I'm always happy doing it, never feel tired, what makes me tired is needing to do anything other than coding, like meetings, but anything involving tech, I can do for the entire day, from software engineering and architect, building infrastructure, observability, reliability, setup CI/CD pipelines, writing tech articles, contributing, discussing techologies, discovering new programming languages (including the exotic ones), to fixing computer hardware, managing networks and firewalls, installing and configuring virtual machines.
So I think it's more than love or passion, it's part of my life and of what makes me be who I am.
Also it helps if, instead of straight coding, you try to learn new approaches to solve your problem, even if you already have engineered a solution, maybe you're not doing the best you can do with the languages and tools you got, there are dozens and even hundreds of things that we don't know we can do with those tools, and sometimes we end up implementing a unnecessary complex thing or reimplementing a thing that already exists and we didn't know, sometimes you end up spending 4 hours with research for better solution, when you could've implement in 10 minutes or less, but when I stop and reflect about what I learned from this experience, I end up with the same conclusion: it took more time than I needed, but I did the best I could've done, and the next time I will know this solution and do it in 10 minutes, but with a higher quality than if I hadn't spend that time. Also even if you don't find a solution, you will learn so much things in the path of the search that worth the time you waste.
For combating laziness or tediousness, trying to learn something you have never tried before is a good way to put you back on the rails, when you've got time to.
And, sorry for this long comment, I love to write.