What are you good at naturally, and well-grounded in? I think you should focus on your strengths, and compete in those areas. I applaud your desire to want to improve at STEM subjects, but I don’t see why you would want to make them your focus of extracurricular activities, competitions, research and internships when you are weak in STEM subjects. There is no reason to do that. If you really just enjoy the ideas of science but don’t get the technical stuff, then consider related things you could do like history of science, scientific illustration, or science journalism or documentaries, depending on your natural talents.
For improving your understanding of science, you need to realize that it has its own vocabulary. You need to work on building up your scientific vocabulary to understand the topics, and also gain more practice with solving science problems. You can read books and news stories on science (sciencedaily.com for example), and watch science TV shows and documentaries, and view science tutoring online. For the tutoring, just search “biology tutorials” or “chemistry tutorials” or “algebra tutorials” etc. to find tons of free videos that will walk you through topics step by step. Next time you visit a library or bookstore, be sure to select some science books that interest you – NOT ones that seem boring and like a textbook, but choose those that will be gripping and read like a novel. Bookstores usually have a great selection of these types of books in their science section. Also subscribe to or go to the websites of popular science magazines, as they typically cover fascinating topics and explain the concepts. There are many other resources out there, including numerous free coding courses online to teach computer programming, and books you can order to teach the math used in competitions. There are also summer camps for teens in math, science and technology, if your parents would be willing and able to send you to some.
You might find it helpful to treat learning science vocabulary the way someone would approach a foreign language. Underline or highlight words you encounter that you don’t really understand, and start your own glossary of these words, and write down their definition. Keep referring back to this glossary and adding to it. Eventually you will understand more and more of the science you read. Any scientific problem you don’t understand you can look up online and find a tutorial that covers it. If you are taking a class that covers some of the topics you don’t really get, then make an appointment with the teacher to get the explanations you need. Since STEM subjects are vast, you might find it best to focus on one topic to get good at first – whether that is math, programming, biology, chemistry or some other topic.
Again, I recommend that you learn STEM for your enjoyment, but I don’t recommend trying to go head to head in competition with students who have been at the top of science and math for years, and who have extensive knowledge and intuitive understanding in these subjects. The reason is because it gets much much harder at the levels after high school. What they cover in high school courses and competitions is like baby food compared to what is covered in STEM majors in college. It would be better to figure out what your strengths are, and pursue extracurricular activities, competitions, research and internships related to your strengths. That said, you certainly can and should learn to program, as computers are used in nearly all careers nowadays, and that will be beneficial long-term. Just search “how to program” and “programming courses free” to find tons of materials.