First, some background for the wider audience:
Zero-Filling is a term for writing all zeros data to a storage medium. This is useful in a rotating magnetic disk since the data may be present even after subsequent erases due to the lasting effects of some of the magnetism.
To answer your questions:
1) Is secure erasing (given in https://ata.wiki.kernel.org/index.php/ATA_Secure_Erase) same as zero-filling the SSD?
No, Secure Erase is not the same thing as zero-filling the SSD. Secure Erase is a specific ATA command. How the command is fulfilled is dependent upon the vendor of the drive. You have no guarantee of writing all zeroes to the physical media (mechanical or SSD).
However, the secure erase command on an SSD may achieve the same ultimate goal you may have: erasing all traces of the original data set.
2) If not, what is the best way to zero-fill SSD and what is being written to SSD when it is erased ?
Zero-filling an SSD really doesn't make any sense. The user has no real control over how what data is actually stored on the Nand. Moreover, writing to every single Logical Block Address (LBA) does not completely fill up the entire physical Nand space.
If you truly want to write zeroes to the Nand, the only way to guarantee this would be to unsolder the Nand from the drive and use a Flash programmer to erase the contents and write zeroes explicitly.
Can you elaborate on what your ultimate goal is? Do you truly desire to write zeroes to the physical media or are you interested in how to ensure that when data is erased -- it is truly erased?