Place a steamer basket in a large saucepan, add water to just below the basket and bring to a boil. Add cauliflower to the basket; cover, reduce heat to medium and steam until very tender, 8 to 10 minutes.
Meanwhile, bring a large pot of water to a boil. Cook pasta for 2 minutes less than the package directions. Drain the pasta and transfer to a large bowl.
Transfer the cauliflower to a food processor or blender. Add milk, chipotle and adobo sauce; puree until smooth.
Dry the large saucepan. Add oil and heat over medium heat. Add onion and cook until softened and transparent, 2 to 3 minutes. Add garlic and cook until fragrant, 1 minute. Add spinach and cook until lightly wilted, 2 minutes. Reduce heat to medium-low, carefully add the cauliflower mixture and stir to combine. Stir in salt and mustard. Gradually whisk in Cheddar and mozzarella just until smooth, about 1 minute. Remove from heat.
Pour the sauce over the pasta and gently stir to combine. Garnish with pepper and paprika, if desired.