Preheat the oven to 350°F (175°C) and spray a 13x9-inch baking dish with nonstick spray.
Cook the thin spaghetti in a pot of salted boiling water until al dente according to package directions; drain and set aside.
While the pasta cooks, heat a large skillet or Dutch oven over medium heat and brown the ground beef with the chopped onion until the meat is no longer pink and the onion is softened, about 6–8 minutes.
Drain excess fat if necessary, return the beef and onion to the pan, then stir in the taco seasoning mix and 1/3 cup water until combined.
Add the cooked spaghetti and the 30 ounces of red enchilada sauce to the skillet and toss or stir until everything is evenly coated.
Transfer the mixture to the prepared baking dish and sprinkle the shredded Mexican cheese evenly over the top. Distribute the 1/4-inch cubes of American cheese or Velveeta across the surface.
Bake in the preheated oven until the cheese is melted and beginning to brown, about 30 minutes.
Remove from the oven, sprinkle with thinly sliced green onions, and serve with sliced black olives and sour cream if desired.