This graybeard has just never found himself needing or wanting a goto. Not since he coded in BASIC on his Osborne 1, which tells you just how gray his beard is.
I did once find myself using the continue <label> construct -- once. It was so unusual that I remember it. And was also unsurprised when a subsequent refactoring eliminated it.
I have occasionally found myself with something ugly. Maybe a goto would have cleaned it up, if I'd considered it. But in the end, that code got written without the goto, and was probably better for it. Somebody else would have had to look at that code some day, and I know that goto is so hard to reason about that they would have found it very difficult to maintain.
In the end, your primary motivation is that your code works. If the code smells, then it smells. Just remember that your secondary motivation is that your code also has to be maintained -- possibly by someone else, and possibly by you after you've forgotten what assumptions went into that goto.