Season the beef with 3/4 teaspoon salt and 1/4 teaspoon pepper.
Heat a medium-deep skillet over medium-high heat. Add 1 tablespoon of the olive oil. When the oil is shimmering, add the beef and cook undisturbed until their bottoms are golden, about 3 minutes. Flip the shanks and repeat on the other side, then remove and set aside.
Using the same pan, add the celery, shallots, bacon, and garlic powder. Sauté over medium-high heat, stirring occasionally, until the vegetables are tender, about 6 minutes. Add the red wine and turn up the heat slightly to reduce the liquid, about 6 minutes. Add the broth, tomatoes, 1/2 teaspoon salt, and 1/4 teaspoon pepper. Bring the mixture to a boil, return the beef back to the skillet along with any of its collected juices, then reduce the heat to a steady simmer. Cover and cook until meat is very tender and liquid has reduced to form a thick sauce, about 1 hour. Stir in 1 tablespoon of the butter, then toss the shanks in the sauce to coat. Keep warm.
Place cauliflower rice in a glass bowl with a lid or use a plate then cover the cauliflower with plastic wrap. Microwave the rice for 4 minutes on full power, stopping to fluff it up once during cooking. Let the rice sit for 2 minutes to cool, then toss with the remaining 2 tablespoons butter and season to taste with salt and pepper.
In a small bowl, combine the chopped parsley, lemon zest, and garlic with the remaining 1 tablespoon olive oil. Spoon the gremolata over the beef shanks and sauce. Serve with the cooked cauliflower rice.