Yes, you are correct. Please see the explanation for page programming operation from our datasheet below.
"18.104.22.168 Page Programming
Page Programming is done by loading a Page Buffer with data to be programmed and issuing a programming command to move data from the buffer to the memory array. This sets an upper limit on the amount of data that can be programmed with a single programming command. Page Programming allows up to a page size (512 bytes) to be programmed in one operation. The page is aligned on the page size address boundary. It is possible to program from one bit up to a page size in each Page programming operation. It is recommended that a multiple of 16 byte length and aligned Program Blocks be written. For the very best performance, programming should be done in full pages of 512 bytes aligned on 512-byte boundaries with each Page being programmed only once."
Thanks and Regards,