You can have multiple methods in the same controller, but this will violate the Single Responsibility Principle (from SOLID), according to which, a class should be 'in charge' for doing only one thing.
In the case of the controllers, that's the passing of the request to the eligible components and the response back to the browser.
However, you can see a core example with a controller class having multiple methods declarations in https://github.com/magento/magento2/blob/ed2ffad8f227e253c0aa50393f40478b02310b65/app/code/Magento/Catalog/Controller/Category/View.php and I am assuming there are other examples like this. Judging by the
protected function _initCategory() declaration, I would say that this slipped into the core as the platform was rewritten from M1 to M2, sort of a legacy declaration, totally against M2 rules of naming and construction of controllers.
So I would advise against this approach. Keep your controller classes slim and let them do what they do best, namely declare and define the
execute() method, while calling other services/ classes with the appropriate logic that it needs.