The point is not whether SpaceX should take steps to correct the issue. Everybody involved, including SpaceX, agree that they should and will and are doing so.
The point is whether it is appropriate for the FAA to prohibit SpaceX from flying any more of its Falcon 9 rockets until not only SpaceX, but the FAA, at its own slow pace, decides that SpaceX has done enough.
And, that real point should be decided on the basis of the amount of risk to the public that is saved by FAA prohibiting any more flights for some period of time. That is similar to something that I did professionally for a different agency, so I have some understanding of both the concept and the technical and legal processes involved. Without having to do any detailed calculations, it is clear that the FAA is greatly over reacting to the actual level of public safety risk from the various SpaceX problems, compared to their usual actions on other problems that obviously create far more risk to the public. There is no defense for the FAA except to say that they don't base their decisions on the actual level of risk to the public. Otherwise, they would be admitting bias rather than bureaucratic intransigence to their own interpretations of their own regulations.
So, the criticism is that things like not meeting all of the test objectives for StarShip test flights 2 and 3 while still meeting all of the safety requirements should not have resulted in the FAA grabbing control of the SpaceX launch schedule. And, the FAA eventually agreed to that with their license for the 4th flight test, so that others of exactly the same flight plan would be allowed without further approvals or declarations of "mishaps" for failure to meet a particular development goal. (But SpaceX has now progressed to more complex flight plans, so those prior approvals are not applicable to the fifth flight test.)
This issue with the Falcon 9 upper stage is different, in that it is not a development project - the upper stage is part of an ongoing commercial operation, and each is used only once. So defects that cause deviations beyond approved flight parameters, like the splashdown area, are properly within the FAA's jurisdiction.
But, there is still the issue of what the FAA needs to do about it. Grounding all Falcon 9 launches does not seem necessary, given the very small risk to the public that is involved with the type and amount of failure that occurred. The FAA has not grounded the Boeing 737s until their rudder jamming problem is resolved to the FAA's satisfaction, and that obviously involves far greater risk to the public than having a Falcon 9 upper stage land outside the approved splashdown area somewhere in the ocean.
So, it makes some sense to prohibit launches of the Dragon capsule with astronauts in it, because failure of the second stage might make it necessary to reenter without getting to the International Space Station and put the capsule landing site into some sort of dangerous conditions. It makes sense to prohibit Falcon 9 launches that put the approved splashdown area close enough to occupied parts of Earth that a similar amount of "miss" would put those areas in the potential splashdown area.
But, if SpaceX wants to risk 30 StarLink satellites on a Falcon 9 launch and drop the second stage in the South Pacific, the likelihood of hurting a member of the public if that went wrong is extremely low. Much lower that many other things that the FAA could legally prohibit but chooses not to.
So, the criticism is about how the FAA chooses to limit SpaceX to a degree that is inconsistent with what it chooses to do with other problems involving other companies, when viewed through the perspective of the reason for the FAA being granted power by Congress to protect the public.