Do NOT use the Blynk library. In the first paragraph of the blog it states that the Blynk HTTP API is used. Do not use Blynk.write(), that is part of the library. You cannot use the Blynk timer because you shouldn't be using the Blynk library.
Your Particle webhook called in Particle.publish() needs to match what was assigned to your webhook. WEBHOOK_NAME = "Blynk" is not the same as "blynk_https_get". You have the webhook working, so maybe that is okay despite what you shared?
Make sure the BLYNK_AUTH_TOKEN matches what is configured for the Blynk device you activated in the Blynk console. Make sure the Blynk datastreams are configured properly, and both the web dashboard and mobile app widgets are configured properly (you don't need to use both the web dashboard and mobile app, but one would help).
The Particle.publish() passes data to the Particle webhook. The Particle webhook reformats the data received and calls the Blynk HTTP API. The Blynk HTTP API updates the datastream values (V0, V1, ... V6). The Blynk web dashboard and mobile app will automatically update the widgets when the connected datastream values are updated.
The blog also provides information on how to call the Blynk HTTP API with your browser to verify Blynk is configured properly.
The only one piece actually needed from the 3x defines for Blynk is "BLYNK_AUTH_TOKEN". Look over the code and you will see that that is passed in the string that is sent by the Particle.publish().
// Note the escaped double quotes around the value for BLYNK_AUTH_TOKEN.
snprintf(data, sizeof(data), "{\"t\":\"%s\",\"v0\":%lu,\"v1\":%lu,\"pot\":%.1f,\"lat\":%f,\"lon\":%f,\"spd\":%f,\"moved\":%u}", BLYNK_AUTH_TOKEN, v0, v1, pot, lat, lon, mph, loc);
If you have a Boron and a GPS, don't hack it, set it up and use it first as provided. Then make changes.