I am trying to update and insert (upsert) a bunch of records into Salesforce
Salesforce already has a native concept of upserting. This includes using an external ID reference field on the sObject to identify if it should be and update or insert operation.
Presumably you already have the data for the external ID field in your JSON file. E.g. you would have ...
The CreatedBy Field is a read-only field that cannot be updated via dataloader without "Set Audit Fields upon Record Creation" permissions. Previously you had to file a Case with Support to turn this permission on for a limited period of time when importing data. Without the permission enabled you won't see it mapped when using dataloader.
You no longer ...
The standard limit on inserting ContentVersion, which underlies Notes, is 200,000 per day. I suspect you've reached that limit.
Unfortunately, I am not aware of a way to view the consumption of this limit within the org. It's not available in System Overview or via the Limits API. You may need to wait a day for it to roll over.
N.B. All these questions could have been answered by a little experimentation
1) On changing the "whoId" of the activities for the conversion of activities associated with the account to lead should we also change the "whoId" field of open activity and activity history too?
YES; the WhoId on the Account is probably a Contact or User and now you want it ...