When we create a new workflow and apply it to templates, then this newly created workflow will be applied only to newly created items.
But the already existing item will not be affected. Because Sitecore never changes existing items by itself.
To apply the new workflow to existing items We can use the Powershell script.
Script:
In this script add the location after "$contentsToUpdate = Get-Item master: -Query" to apply workflow likewise in my case all items under the home will be updated to the new workflow.
In "$content.Fields["__Default workflow"].Value" and "$content.Fields["__Workflow"].Value" add your workflow Item Id.
In "$content.Fields["__Workflow state"].Value" add your workflow default status Id.
When the Script runs successfully it returns the "True" value for each item and the workflow will apply to all items otherwise it returns the "False" value.