Do I really need to learn how to use registers - Programming a microcontroller?
do STM assume that working with registers is not necessary when I use
  STM32?


Yes. They don't want you to bang the registers directly, because then they would have to document them properly and you would have to know about any differences between devices (including hardware bugs). By going through the Hardware Abstraction Layer you are shielded from all that and can concentrate on application code, which will then work without modification on different STM32 chips.  

There may come a time when either the HAL libraries can't do what you want, don't have the performance you need, or have bugs you need to work around. Then you have a choice - learn the hardware and write your own code (preferably using the same HAL system), wait for ST to update the HAL, or go to another MCU with better support.


  Today I create large projects with STM32 thanks to CubeMX + HAL
  libraries. I could never do that without this technology.


So you already have the answer. 

In the past it was different because the HAL was poorly documented and CubeMX was full of bugs, so some of us tried to work without it - and failed. Banging the hardware is only tenable if you are a masochist with a lot of time to waste, or an expert who has already built up their own codebase.