1. You could fix this by changing your method of "learning", maybe you could do sketchnotes for things you learn if you are more visual or record yourself answering a pretend question about what you learned (i.e. explain to someone what a reflection in Java is.)
2. Nearly everyone in tech has impostor syndrome - let the recruiter or company decide you aren't skilled enough - if you think you aren't worthy you are holding YOURSELF back. Being a senior/lead dev doesn't mean being 2-10x quicker, neater etc. than a junior developer.
3. Hard to comment that the clock is ticking without knowing if you have a mortgage or family but as /u/slededit said life isn't linear and you are doing yourself a disfavor by acting like you are behind. I personally think I am behind of people who have traveled more even though I am doing very well in my career.
4. There was a comment here weeks ago about people painting vases - one class was told they have a month to paint a vase, the other class was told to paint one every day and then start again the next day - the ones who practiced everyday did it better. Accept that your first side-project won't be perfect in terms of SEO etc and give it a go. There aren't many tech-debt style things that you can stuff up with that you can't fix later down the track.
Just to finish, everyone feels like this - just take a break and reconsider whats important for you.