Cover beans with at least 2 inches water in large bowl and soak at room temperature for at least 6 hours or up to 24 hours. Drain well.
Heat oil in Dutch oven over medium heat until shimmering. Add jamon and cook until lightly browned, 3 to 5 minutes. Stir in sofrito and cook, stirring often, until liquid is evaporated, 3 to 5 minutes.
Stir in sazon and tomato paste and cook until mixture begins to darken in color, about 30 seconds. Stir in tomato sauce, scraping up any browned bits. Add broth, 2 cups water, bay leaf, salt, and drained beans. Bring to boil over high heat. Cover, reduce heat to medium-low, and simmer until beans are completely tender but not falling apart, 40 to 50 minutes.
Stir in calabaza and olives. Add extra water (up to 1 cup) if liquid has reduced below level of beans. Bring to simmer over medium-high heat. Cover, reduce heat to low, and cook until calabaza is fork-tender but not falling apart, 10 to 15 minutes. Stir in vinegar and pepper. Season with salt and vinegar to taste and sprinkle with cilantro. Serve.