You can have one
StopTest per test method.
Each test method is executed independently. They may be on the same class but they share nothing and do not see side effects from each other.
You can have many test methods in any test class 99.9% of the time. The 0.1% allows for features like
Queueable interface that currently require their own class.
There are two main use cases for
StartTest resets all governor limits. In this way you can set up your test data and still clearly determine the impact of your functionality on relevant governor limits.
StopTest forces asynchronous calls to execute. Using this method will allow you to guarantee an asynchronous call or batch has run.
There are also stylistic benefits; for AAA style tests (Arrange, Act, Assert) it is a great way to identify where the Act happens. This helps a reader to know what you intend to test.