Place the cubed butternut squash on a baking sheet lined with parchment paper, drizzle with olive oil, and season generously with salt and pepper. Toss the butternut squash on the baking sheet, using your hands, until well coated, and then transfer to the oven to bake for 30 minutes or until tender and easily pierced with a fork.
When the butternut squash is almost cooked, fill a large pot with water, season with salt, and bring to a boil. Once the water is boiling, add pasta and cook to al dente or until tender as per package directions.
While the pasta is cooking, transfer the roasted butternut to a food processor or blender and purée until creamy and smooth, and grate all of your cheese on a cutting board.
Once the pasta has cooked, drain the pasta into a colander and set it aside for a moment.
In the same pot used to cook the pasta, add the butter and allow it to melt on medium heat. (Optional: Once the butter has melted, add the fresh sage leaves and fry for 30 seconds to 1 minute per side until crispy, then remove from the pan, season with a pinch of salt, and set aside.)
Add the garlic powder, onion powder, smoked paprika, and a generous pinch of salt, and some black pepper to the pan with the melted butter and heat for about 10 seconds, then add butternut squash purée and 1 cup of milk and whisk to combine.
Reduce the heat to low and then add the grated cheese, whisking the mixture constantly until the cheese is all melted and a sauce has formed. (If you find the sauce too thin, simply add a sprinkle of all-purpose flour to thicken it up.)
Once the sauce is ready, return the cooked pasta to the pot and toss gently to combine with the butternut squash cheese sauce until the pasta is well coated, adding additional splashes of milk as needed to help the cheese sauce coat the pasta.
The mac and cheese can be served immediately with a sprinkle of the fried sage, any leftovers can be cooled and stored in the fridge for 3 days or in the freezer for 3 months.