make_ready_future uses the default executor implicitly, which doesn't matter for the future itself, but does for continuations that don't explicitly specify the executor. It seems like providing an executor argument to make_ready_future would make the API more consistent.
Currently, if you have one or more custom executors, you have to be always sure to pass them when calling .then if you use make_ready_future somewhere (and can't consistently have the continuation use the same executor as the previous).