I am little confused about initramfs and initrd, if they are the same thing.
They are not "the same thing". That's why they have different names.
However they can serve the same purpose, i.e. an initial root filesystem.
They differ in the method of implementation, i.e. how they exist in memory.
An initrd is an initial ramdisk. A ramdisk is a block device that exists in memory, typically allocated out of main memory, as opposed to a block device that uses mass storage. Use of initrd in Linux is deprecated in favor of initramfs.
An initramfs is an initial ramfs. A ramfs utilizes the existing filesystem cache as the storage medium. The ramfs can store as much data as there is available memory.
Does initramfs loads into the memory first and then kernel is loaded into memory and then kernel loads the drivers from the initramfs image file including the systemd process.
No, since your description makes no sense (e.g. "initramfs loads into the memory").
The boot program (e.g. Grub, U-Boot) must load the kernel into main memory from the boot device.
If there's an initrd, then the boot program must also load an image file of that.
or both grub loads both initramfs and kernel into memory simultaneously. then kernel extract the contents on initramfs to proceed further to systemd startup
Close.
If there's an initramfs instead of initrd, a cpio archive would be linked into the kernel image.
During boot the kernel creates an empty initramfs. The attached cpio archive is then extracted to populate the initial ramfs.
The official Linux documentation is here with more details.