we use taskMatch to find the records needed to be updated,
how can we update them? //dml below
List<Account> allaccounts = [SELECT phone from Account WHERE Status_Reason__c = 'Active - Existing'
AND phone != null];
Set<String> accountSet = new Set<String>();
for(account a: allaccounts) accountSet.add(a.phone);
List<Task> taskMatch = [SELECT Source_Number_Tech__c, whatid from Task WHERE Source_Number_Tech__c IN :accountSet AND whatid != null];
if (taskMatch.size() >0) {
//DML update taskMatch.whatid with accountSet.id
}