It would need to be two separate Process Models in that case. You have a few options:
- One with Process Start Form configured; one with the Timer as trigger event and User Script Task as one of the nodes.
- A reusable PM with User Script Task (with chaining until the User Script Task) - this would be the one called by the related action; another PM with the timer trigger event, calling the first PM as Subprocess (will need the activity chaining until the subprocess call).
As for setting the timer for the end of each month, I would suggest the scheduled delay option where you are able to specify an expression rule. Then create your own expression rule (possibly leveraging the eomonth() function for the date bit, then you need also to consider the time).
Alternatively, if running the PM in a specific day of the month (or last [specify week day] of the month), then you can do this easily with the Timer Recurrence config.