Season the beef with half of the salt and pepper.
Heat a medium-deep skillet over medium-high heat. Add half 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, and the remaining salt and 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 one third of the butter, then season to taste, and 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 two-thirds of the butter and season to taste with salt and pepper.
In a small bowl, combine the chopped parsley, lemon zest, and garlic with the remaining half of the olive oil. Spoon the gremolata over the beef shanks and sauce. Serve with the cooked cauliflower rice.