Those resonate with me as well. For (1), it seems to strike for tasks that I feel "should" be simple, but in fact simply are not. Accepting that seems to help.
For (2), I do indeed loathe retracing some task that's similar to something I've done in the past. One thing that sometimes helps is to find a way to put a new spin on it. Maybe use an unfamiliar language or data structure. Or optimize for something different. Or push 'git' to the max while working on it.