basically yes, you can use all these pins as gpios.
but you want leave some way to program the chip - right ? so minimum is, leave boot pin usable, to have a way to get a program to the chip. - even if never want debug it. 🙂
Yes you can use all the pins, except NRST and Boot pins.
For programming your ic you can give UART line with additional jumper and add the SPDT button in Boot pin, connect one line to VCC and other to GND, so whenever you want to program your controller move boot to High state.
But it's not good practice to use all the pins of controller.