Hi @Harshanand Wankhede ,
Thank you for the post.
When your migration is in the same site collection, you could visit "http://yoursite/_layouts/sitemanager.aspx", you'll see a site manager, where you can do a move operation of all pages.
Per my experience, when you migrate subsite to another site collection, a convince way to migrate a subsite, you could save the origin subsite as a site template first, and then create a subsite in destination site using this site template.
If you cannot find Save site as template option in site settings page, you should enable the Custom Script feature in SharePoint admin center ->Settings -> classic settings page -> Custom script -> Allow...
More information about save site as a site template you could refer this answer.
As to your requirement 2 and 3, you can post a new question on Microsoft Q&A. It is recommended to focus on one question in one thread according to our policy. Thanks for your understanding :)
If the answer is helpful, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".
Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.