Coding is thought to be difficult because it is a different kind of skill; and "different in the sense that it is unlike anything most of us have experienced before". You may be familiar with the different coding languages for children, what coding looks like, etc. The journey sounds intense and, frankly, it often is. It's important to understand what you're in for, especially if you're going it alone.
There are ways to avoid most of these problems. Learning to code is rarely as easy as people make it sound, but it is also rarely as difficult as it seems in the depths of their desperation. Memorising code confuses you every time you apply your knowledge because you don't really understand what you are doing. You haven't really learned to code, you've only learned to copy and paste.
The unforgiving nature of code is what makes it such a difficult thing to learn. It's also why it's vital to develop a handful of important skills that limit the mistakes you make, and allow you to resolve and debug mistakes and move on from them. No, coding is not difficult to learn. Like any other skill, learning to code takes time and persistence.
The difficulty will depend on the programming language itself and the type of software you want to make. Some tutorials make coding harder than it needs to be, and some tutorials may not be a good fit for your learning style. When you start learning to program, you may have the need to learn everything quickly and take advantage of all the opportunities that programming offers. Think about this when choosing your learning materials, as it may be one of the main reasons why you struggle to code.
I guess learning to code is really challenging, especially if you don't have experience or a good programming background. This is not exactly a step, but rather something you should do and learn by default by learning concepts and practising problem solving. You can learn to program self-taught, through a traditional four-year degree in computer science, or through a coding bootcamp. Students who have learned entirely on their own can be productive, but they rarely have the kind of readable, modular, maintainable code that makes them attractive in a professional environment.
If you want a relatively painless entry into Programmerland, you can always start by learning to code in HTML. The more you get used to creating things, the more you'll learn as you go and the easier it will become to code. So methods like spaced repetition are regularly recommended for learning new programming languages, just as you would with learning any language. I was convinced that the seemingly normal programmers I encountered were actually sociopaths who had experienced, and then repressed, the trauma of learning to program.