A workflow doesn’t have a CurrentUser and CurrentSession in the context because it runs independently of users and sessions.
If you want to pass these objects to your microflow, you can do so by associating them to the context object that you pass to the microflow via an association, e.g. MyContextObject_User.
As an example for 1), take a look at the example of the ApprovalTemplate app.
Workflows are executed in the Mendix Runtime, so current session and current user is always empty.
if you want to update the instance update try to retrieve from the database according your need.