Root cause
I edited the code in the Lambda console and did not click Deploy. Saving in the editor does not make the change live for the version or alias that S3 is invoking. After I clicked Deploy, S3 events started invoking the function again.
Fix in the console
Open the Lambda function.
Click Deploy to publish the code change.
On Configuration > Triggers, make sure the S3 trigger is Enabled.
Upload a test object to the bucket and prefix.
Check CloudWatch Logs.