You could try cleaning between the metal drive nut and the rubber friction washer on the bottom of the bendix. Lilkely caked up with the same oily debris that is covering the engine. This would cause it to slip. If not, may need to replace the starter. The oil leak may be the crankshaft seal or the breather cover gasket.