While a programmer, I never heard that GOTO was bad. Why is that so bad?
A bit of ancient history.
The problem with the GOTO was magnified by the style of teaching computer programming up to the mid-1970's.
For instance, the single sort that was taught was the bubble sort, without any mention of scaling issues which would warrant the use of a less-easy-to-understand method.
There was no effort to even address coding style - clarity was not a concern. Instead, you had to rely on hand-drawn flowcharts with lozenges (two-path decision) and rectangles (action) to guide you through the program. A long program required at least two of the 11 x 17 "pages of "free" paper from the batch printer (one-sided printing of the previous listing) tied with scotch tape. You could use a plastic template so the shapes looked clean. And only a fool would use ink instead of a lead pencil. Yes the flowcharts had to be redrawn any time a correction was required in the code. Yeah - right.
Forget about indenting code blocks. All FORTRAN code started at col 7. Even numbering the labels in some kind of a sequential ordering was already asking for too much. With GOTO's you had the "freedom" to jump forward and back, so "creative" programmers could re-use part of the code to "save" some lines of code. "More efficient".
The end result turned into spaghetti coding. Indeed, trying to follow a sequence of instructions was like trying to follow a long noodle intertwined with many other noodles.
About the only thing missing from this mess would have been a "COME FROM" statement.
New structured constructs such as IF - ENDIF and indented code blocks helped bring sanity into code production. By making GOTO's non essential, a major source of grief was taken out of the picture. So obviously simple as they sound now, these concepts were a revolution when they first appeared. Bad programmers could be helped to write less messy code. But even structured programming was not a bullet-proof shield against bad programmers.
I sincerely hope you missed out on this less than glorious era of computer programming. Believe me, abuse of the GOTO statement was the most visible culprit of unmaintainable, bug-ridden spaghetti code. The GOTO statement would remain tarred forever - even though the real culprit laid at a much deeper level: poor teaching.