A mega constellation of Nano/microsatellites is the contemporary solution for global-level Earth observation demands. However, as most of the images taken by Earth-observing satellites are covered by clouds, storing and downlinking these images results in inefficient utilization of scarce onboard resources and bandwidth. In addition, the trend of making satellite task execution plans by ground operators demands the efforts of experts or simulators to predict the real-time situation of satellites and to decide which tasks should be executed next. Granting controlled autonomy to satellites to perform onboard tasks will boost mission effectiveness. We experimented with granting controlled autonomy for satellites in performing onboard image classification and task scheduling. We designed a convolutional neural network-based binary image classification model with more than 99% accuracy in classifying clear and cloudy images. The model is configured to perform inference in low-performance computers of ordinary Cubesats. Moreover, we designed an autonomous satellite task scheduling mechanism based on reinforcement learning. It performs better than a custom heuristic-based method in scheduling onboard tasks. As a result, the proposed classification and scheduling techniques with machine learning ensured efficient utilization of onboard memory, power, and bandwidth in the highly resource-constrained CubeSat platforms and mission accomplishment of Nano/microsatellite constellations.