Line an 8" x 8" square pan with aluminum foil; grease the foil with butter. It's not a good recipe for a 9-inch square pan as the fudge will be too thin.
Combine the milk, sugar and salt in a large heavy saucepan (or better yet... a double boiler) over medium heat. Stir and bring to a boil; reduce heat to medium-low and boil for 5 to 6 minutes, stirring constantly at a boil (if you have a candy thermometer, you can bring it to the soft-ball-stage, but I don't use one). Remove the pan from heat. Add the marshmallows, chocolate, zest and juice, and stir until the marshmallows and chocolate are melted and the mixture is smooth. Scrape the fudge into the prepared pan. Tip the pan to make sure the fudge covers the bottom evenly. Cool completely, then cut into 1-inch squares.