What to do when saving nodes one-by-one and bulk resaving give different results
You are correct that function is attached to the actual edit form when using the field, and therefore is bypassed during a VBO node save. This allows the function to be attached to any entity type that has the field (there are other ways to do this, but this approach was almost certainly easier than other options).

You can get from a node to a form using drupal_get_form() and providing the node as the form_state:

$form = drupal_get_form('YOUR_NODE_TYPE . '_node_form', $node);


Note: I have not tested that solution in your use-case.