I think you confuse "state" with "status" here.
"Processing" and "Complete" are states, which means that they have some functionalities associated - for example, an order that is "Complete" can not be cancelled. A status is actually just a label for a state, so you choose a status if you want to display something special to your sales manager or customer.
The state "Processing" also has a status "Processing" that is this state's default status, which means that every time an order is in the state "Processing", it will also automatically have the status "Processing".
When you want to display something else (= you want to display another status for an order in the same state), you can open this order in the backend; then scroll down to the field where you can enter comments. Above that field, you should see a dropdown menu. This menu allows to set another status. A state can only be changed by using the buttons on the top ("Create shipment", "Create invoice" and so on).
To update order state & status programmatically, see here: Magento 2: How to update order status programmatically in custom module?