you definitely have the talent to break 2. a fast enough 400 and good aerobic ability as well
ive found that the 800 is an art and each person runs it different for there strengths and have training designed around that
play around with different strategies until you find what works best for you
for me i opened my sophomore year season with a 2:03. that alone doesnt tell the story. I was out near the back of the pack at 300 in and made a huge move on the home stretch to eventually take the lead and expand on this lead through the first 100 of lap 2. but then I faded and finished 2nd or 3rd. The next few 800s had the same resault, out through 300 feeling good so I made a big move then I didnt feel good and was caught. always in the 2:00-2:04 range depending on how fast leaders took it out
so then I decided to run it differently and wait. So I felt good still with 500 to go but decided to not make that same big move and just sit tight in the pack . waited on the outside of lane 1 and with 300 to go I stepped out to lane 2 and took off. broke 2 and placed 3rd in a championship meet.
flash forward to 2 years later and I ran an 800 near the end of the season, best time was 1:57 and this race I ran it 59-62 or something. I just felt slow. So I talked to my coach and asked for more speed work cause I knew I raced best when I could get out in 57 and not feel like im exerting myself. SO I trained for the 400 for 2 weeks doing 200s at 23, 300s at 41 or fast, spiked up, decent rest, low volume.
Came back and ran 1:56 solo in a relay (got the baton as anchor in 1st and enver saw anyone the entire race). came back the next day and in the open I dropped a 1:55 running it the same way I always had
so to answer your question. play around with running the race differently. try opening hard one day, try sitting and kicking. you generally get 1 big move in the race plus whatever you have for the last 100.