In a blender or food processor, add the scallions, onion, olive oil, honey, vinegar, salt, pepper, orange juice, and zest. Pulse until the marinade is fully blended. Place the pork shoulder in a large bowl and cover with 3/4 of the marinade, reserving the rest in the blender. Marinate the pork shoulder overnight or for at least 4 hours.
Add the cilantro and the juice of 1-2 limes to the blender along with the remaining marinade. Blend until smooth, taste and adjust seasoning with salt, pepper, and more lime juice. Refrigerate salsa until ready to serve.
Remove the pork from the refrigerator about 1 hour before you intend on cooking it.
Preheat the oven to 325°F. Place pork in a Dutch oven or baking dish, cover, and roast for 2 hours. Uncover and roast for an additional 1 to 2 hours, or until the meat is tender, the top is deep golden brown, and the internal temperature reaches 190-195°F. Transfer the pork to a cutting board and let it rest for at least 25 minutes before shredding the meat with two forks. Serve the pork along with drippings, warm tortillas, and green salsa.