Oi Lucas,
Bem interessante os pontos que você compreendeu sobre abstração. Falando de forma mais específica, das classes abstratas. Segue as observações para cada ponto:
1) Uma abstração não é de fato um molde para as classes derivadas, pois não obrigam uma implementação, a não ser que tenham métodos abstratos. Acredito que o "molde" fique melhor para Interfaces.
2) Uma abstração não pode, de fato, ter um objeto criado de forma direta. Os objetos da abstração são instanciados quando instanciamos as classes filhas. Por isso que quando temos um construtor na abstração que recebe algum parâmetro, precisamos replicar esse construtor na classe que deriva.
3) As classes derivadas só são obrigadas a implementar os métodos abstracts de uma classe abstrata. O conceito para implementar toda as regras de forma a ser um contrato está mais atrelado a Interfaces.
Tranquilo?
Muito bom sua pergunta continue estudando para evoluir.
Fico à disposição.