Recently replaced my salifert with JBL (partly because my fish shop seemed to have like 5 different tests except for API and salifert)
My guess is the powder in your API bottle 2 is really caked on sides and shaking and banging has stopped working. I switched to salifert when I ran out of the original API I had, and went from what I had to imagine might be 10 or 20 but really looked 0.... to a more definite 5 or 10ppm backed up using low range and high range readings of colours.
More recently I decided to try JBL. It uses powder like salifert, and I think the powder contains tiny mixing beads too. But the colour is yellow/orange/red like API. Like API you can only really read the colour in one direction. But you read downwards, so you therefore get "more" colour to see, and the chart provided is much better, no having to use an online colour chart because 20 and 40ppm are the same colour for example (and when I used API I didn't know about the online chart). It seems to basically to give same results as salifert, any variation down to the nature of these tests mean they are accurate - but colormetric judging by eye is not exactly precise - so it all comes down to a chart the manufacturer would have made using a small number of reference solutions. To get a precise figure you would need a spectrometer to quantify the colour produced and compare it to a graph made using the same reference samples.
Somewhere on another post I suggested that JBL strips are good because they are read by your phone camera. This means the results are therefore precise in the way I described above. Having compared my three tests I own atm on same sample of tankwater, I have come to the opinion that they are not accurate after all, just like literally everyone on this forum has said for years, but me I decided I had to find out myself. I think because the test for nitrate on the strip uses either just one reagent or possibly both but mooshed together it is therefore not accurate. Two strip tests on same water would give frequently different results. And every week the strip was telling me I had 25ppm nitrates, 40ppm if I overfed, and consistently 0.25 nitrite. So last week I tested same water with both strips and liquid. API liquid gave a clearly zero nitrite, salifert nitrate showed me 5pmm (I did the salifert test twice to make sure). Thinking the salifert test was broken I went out to buy a new nitrate test kit; the salifert is starting to run down anyway. I ended up buying a whole JBL testkit (not the massive one the cheap one with similar tests to API kit) because the fancy box caught me eye. The new test gave same results as the salifert test.
Sorry for the long post - I think buying a new toy (test kit in fancy box) has made me a bit nerdy and enthusiastic for weird stuff. I even started a new spreadsheet to record the results with an added sheet to record stock numbers to keep track of deaths and new fish and get an idea beyond guessing as to how fast or not I'm killing the fish.
EDIT: don't go out and buy more test kits until you run out of current ones ofc.... All you need is to get a handle on how often you need to be changing water, and once you get that right you will hardley need to test at all. I think it's probably normal for you to have lots of nitrate in a heavily stocked tank of filthy cichlids who dig up most of the plants. Those of us who claim a never increasing nitrate or even a zero nitrate if you lucky with tapwater probably all have heavily planted very mature tanks with smaller fish who eat a lot less.