[SOLVED] "Send tweet with timestamp" sketch hangs, shows no activity

  btn_val = digitalRead(BUTTON);    // read input value and store it fresh
  
  // check if there was a transition
  if ((btn_val == HIGH)) {

Wrong. The if statement is NOT checking for a transition. It is simply checking for a state. That could be the same state as last time.

        Ethernet.begin(mac);
    Udp.begin(localPort);

This should be done in setup(), not in loop().

    if (shop_status == 0) {        // then that means we're now OPEN
       Serial.print("shop_status: ");
       Serial.println(shop_status);
       Serial.println("");
       getTime();
    } else {      // or else shop_status == 1, which means that we're now CLOSED
           Serial.print("shop_status: ");
       Serial.println(shop_status);
       Serial.println("");
       getTime();

Why? You do the same stuff in both cases. This code doesn't belong in the if/else blocks.

I see you still haven't ditched the String class...