"updating the same table but different column
sounds to me like you do NOT want to run things concurrently, because if they are competing for the same *rows*, then you're going to have all sorts of concurrency/locking issues
As long as you can separate out the code into chunks that will NOT get you into a giant locking mess, you could use DBMS_JOB or DBMS_SCHEDULER to run them in parallel.
The other thing to look at is some refactoring of existing code if possible.
For example:
update MY_TABLE t
set COL1 = ( select abc from OTHER_TABLE where ... )
update MY_TABLE t
set COL2 = ( select def from OTHER_TABLE where ... )
update MY_TABLE t
set COL3 = ( select xyz from OTHER_TABLE where ... )
might be able to recast as
update MY_TABLE t
set (COL1,COL2,COL3) = ( select abc,def,xyz from OTHER_TABLE where ... )
and so forth.