Here's how I have overcome exactly what you are talking about. (this got long, forgive me)
1. Be honest with yourself
If I can't even say "I need to lose weight" or "I should quit smoking" then there is no place to start.
This is a very, very easy step and require such minimal effort that I truly believe everyone in every state can do this step.
You can stop reading right now, pick something you have an issue with, and say it to yourself. (mine: "If I focus intently on work for even a short time, I know I will be better off long term.")
2. Repeat #1 forever... so be careful what truth you say to yourself.
With work focus, any time I got distracted (and I recognized that I was) I would repeat to myself that I would be better off being focused.
Again, I think anyone in any state of mind can do this step as well.
3. Remind yourself of past success.
If you have had no success in life at all, tell yourself others have done it. If you have, just say in your mind "I've done this before, I can do it again".
Remember, so far this is all internal mental dialogue. So I feel everyone can do these.
4. Do it once.
This is where it starts to get harder, but if you've done 1-3 for say _months_ one day #4 will be easier than it was in the past. It sounds stupid, but it's worth trying once, right?
So I "buckled down" and tried really, really hard to focus on my work. And I did for a few minutes... :P
5. Keep doing 1-3 even if you fail repeatedly at #4.
So, I focused once at working. I got into a groove and then I failed. Time goes by, I keep going back to it, trying again and again. Failing repeatedly. Sometimes I did a little more, many times doing poorly. Keep in mind I have had years where I worked like a dog, and was very focused, but I lost that drive, and I want it back. In some ways this is harder than starting from nothing. (my experience)
6. If you could do it once, tell yourself you can do it again.
Again, internal dialogue. I believe everyone can do this.
I had to do this step for months on some of my problems before I could face them again.
6. Pay attention to exactly what is causing you fail at #4.
This is one of the hardest problems to face (not the hardest though). I found that if I ate lunch at my desk, I would watch a youtube video, because I couldn't work while I ate. But after I was done eating, I found my motivation to work was just slightly diminished. Not much, but some.
7. Tell yourself the truth about what caused you to fail.
This is a little hard, but not really. Internal dialogue again, it costs you nothing to be honest with yourself, and you have everything to gain.
The truth for me was that if I ate at a table away from my desk, I interacted with people (I _thought_ this was distracting before) and when I went back to my desk I wasn't _motivated_ to work, but also I was _demotivated_.
This was the needle in the haystack for me.
If I hadn't gone through all the processes before, I would not have discovered this tiny difference.
The truth was, I didn't _want_ to eat at the table, I liked watching youtube videos about machining during lunch, but it made me relax into my chair and forget about the technical issue I was working on myself in my code.
Where when I was eating lunch at a table, all I could think about was the coding I had done before, and what I was going to do when I got back. Even if I talked with people and got distracted, at least I didn't have to fight the urge to turn off a video and refocus my entire mental state back towards work.
8. Make a change
This is the beginning of the hardest part. The change I needed to make was permanently not sitting at my desk while eating lunch. A forever change.
A. I had told myself what the truth is, I want to focus at work...
B. I had gotten myself once to try and focus, and I succeeded once.
C. I told myself that I could do it again, repeatedly until I did it a second time, then a third, but failed for a long time.
D. While failing, I could clearly now see what caused the failure. Without failing I could not see what was wrong.
E. I told myself what was wrong. (videos demotivated/distracted me from my previously focused state)
F. I trusted myself _at least once_ to try something else (again, only once was needed) and found that eating lunch in a different location did not rob me of motivation in the same way.
G. Something should happen.... (right?)
9. Remind yourself of everything you've proved true. Especially, _especially_ when you don't want to.
SPECIAL NOTE: No major struggles existed throughout this process. None. 95% of this process is internal dialogue. Don't lie to yourself.
10. NEVER give yourself a way out with internal dialogue.
If you give yourself an out you will take it. Fail honestly. You can say "I know what the truth is, I just can't handle doing it today, I know I am failing" is just fine to day.
Do NOT say "Maybe I can't do this" or "This is just to hard, maybe I can try once in a while." Or anything that supports quitting of any kind. Why? Because this process is all about internal dialogue, and I believe this is the one place where "fake it till you make it" doesn't exist at all. True honesty with yourself isn't fake. And true honesty with yourself costs you nothing and takes an instant in time.
So, if you are having a bad day just be honest, say "I failed". You don't have to tell anyone, so I believe everyone can do this. I have failed thousands of times on some things I have worked at changing.
11. Share and remember your successes
Maybe you don't want to tell other people when you've had success, but you say it to yourself. The more successes you have, the easier it will be keep on track. And the easier it will be to tackle the next problem.
Failure is just fine. Why? Because you are failing right now, and you are 100% better off by trying and failing than not trying at all. So dive in and do terrible a 100 times.
What I learned from this was to be happy with other people failing while trying. I could see a spark of change that if encouraged could blossom into something complete new and better for them (or both of us) if they continued.
So, you may find through this process that things outside yourself may change in unexpected ways as well.
Conclusion: Be honest with yourself, 100% pure brutal honesty (it's in your own head, you can do this right now). Failure is expected and is totally ok! The only requirement is honestly acknowledging to yourself that you failed. Look for the cause of failure honestly, even if you can't deal with it. Tell yourself your cause of failure. Do something different once. Just once. (everyone can do something once) Tell yourself the truth about what was different. Don't give yourself an out of any kind. You don't need one from just being honest.
First time I started running, I ran in pajamas and crocs. I just did it. It was lame and silly, but I did it once. With work focus, I found _multiple_ things that were distracting me, not just eating at my desk. I have changed how I talk with people, developed more patience, lost weight, stopped swearing (almost entirely, eesh), and many other changes with this simple process.
I realize you may not believe this will work, but it's literally possible for everyone to try step 1 and takes nearly _zero_ seconds to do, so why not try it out?
(Sorry this got wordy and long, but you've brought up an issue close to me, and I've had too many hard times in the past with the "just stop doing X" or worse "X is your problem" (derp, derp) advice without a real method to consider to overcome my heart and mind issues with even getting started)