Structured content design has to do with how different resources are presented as data that function together, not neccessarily as a pretty package to be presented. Relationships between said content can be defined within the code, akin to a vector line in photoshop. Algorithmic relationships are key.
Semantic HTML is far more familial, in that it's meant to communicate the information about selements instead of justhow they would look on a given webpage. Tags, values, and attributes would be considered semantic elements.
They work together by providing how the information will be structured at a fundamental level, and allow for legibility in altering, creating, or reading said code.
Without them together, webpages would either be completely disorganized, or have no way to be informed about how the information/data relates to eachother.
The most successful method to banish the inner critic in me would probably be turning antagonism into partnership. I accept I have an inner, critical voice, so I like using it to my advantage. I ask, "how can I do this better next time? What did so and so do differently that made it better? How can I incorporate that? Is that something I can learn?" I find it helpful.
In short, hyperbolic discounting is the impulse of procrastination in the moment. Choosing the sure present over something that might benefit you later. One trick that I think works best for me is tricking myself into doing certain things at certain times. I tend to already do this, by gamifying my tasks. I don't use a planner, but I make my own spreadsheet with lots of additional fun stuff as a part of the to do list. And as I complete it, it turns from red to green and I see the reward in the distance.