Bring a large pot of heavily salted water to a boil. Meanwhile, dice 1 small yellow onion (about 1 1/2 cups) and mince 2 garlic cloves. Drain 1 (2.25-ounce) can sliced black olives. Finely chop the leaves and tender stems of 5 fresh cilantro sprigs (about 2 tablespoons). Tear 4 ounces American cheese slices into big pieces. Grate 8 ounces sharp cheddar cheese on the large holes of the box grater (about 2 cups); set aside a small handful for garnish.
Add 1 pound medium dried shells to the boiling water and cook and according to package directions until al dente, about 9 minutes. Meanwhile, make the sauce.
Melt 2 tablespoons unsalted butter in a large high-sided skillet or Dutch oven over medium-high heat. Add 1 pound lean ground beef and cook, breaking it up with a spoon or spatula into bite-sized pieces, for 3 minutes. Add the onion, garlic, 2 tablespoons taco seasoning, and 1 teaspoon kosher salt. Cook, stirring occasionally, until the onion is softened and the beef is browned and cooked through, 4 to 5 minutes. Sprinkle in 1/4 cup all-purpose flour and stir until there is no more visible flour, about 30 seconds.
Add 2 cups low-sodium beef broth and scrape up any browned bits from the bottom of the pan with a wooden spoon. Add 1 (14.5-ounce) can diced tomatoes and their juices. Stir to combine and bring to a simmer. Turn off the heat. Add the cheddar cheese, American cheese, and 1/2 cup sour cream, and stir until the cheeses are melted. Taste and season with more kosher salt as needed.
When the pasta is ready, drain. Add to the sauce and stir to combine. Garnish with the reserved shredded cheddar cheese, olives, and cilantro.