I’m not sure this is possible. Postman uses the Chai library for assertions.
Chai does not allow soft asserts, it is against their assertion philosophy.
The assertion should either prove or disprove a thing, and that should fail the entire test (because whatever the description of “pm.test” is, no longer holds true).
Therefore its a hard fail as soon as you hit an error within a pm.test block.
The principle here is that the tests should be singular as possible in design.
Maybe a feature request is needed.
Therefore unless Postman decides to also include a soft assertion library in the sandbox, I don’t think there is an easy way for you to achieve what you want.
I suspect you can create a wrapper like you are doing with try\catch. Perhaps have a look on a JavaScript forum for an answer on how to implement that. As this is more of a JavaScript query than Postman at this point. Although a quick search seems to advise you to use a different assertion library. (Which isn’t possible with Postman).
On a side note, Postman doesn’t really fall neatly into the testing principles you may have with other products, so it does need some thought about how you want to layer your requests\tests.
In my mind, the Collection is the Test Suite, the Folders are the Test Cases, the requests are the test steps. Within the test steps, you can have multiple assertions, and I generally try and make these as singular as possible so I can get the feedback on all of the assertions I include. Which means multiple pm.tests. Otherwise you have the issue you are finding in that you don’t get the feedback on the other assertions after the first one fails. (This may or may not be important to the system you are testing). If we are developing the API ourselves, then it generally is important. If we are consuming a 3rd party API, then it might not be so important.
Your situation seems to be a different use case so the above may not work for you.